三期_day07_取到数据到页面显示


EL表达式,JSTL标签,Structs标签


EL一般和JSTL一起使用,那是过去式了,这个没有用到,全部使用的是Structs标签。  


EL:  http://blog.csdn.net/qwerasdf123/article/details/4189889

jstl:  http://www.cnblogs.com/lihuiyy/archive/2012/02/24/2366806.html

Stucts:   http://blog.csdn.net/zxl315/article/details/2886456

EL和jstl的区别: http://www.360doc.com/content/11/1121/16/7874148_166229306.shtml


标志引入

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags"%> 


1.逻辑控制  

1.1条件标签 if else 

1.2迭代标签 iterator 

1.3组合标签 

1.4分割标签<s:generator ...>

1.5合并标签<s:merge ... >

1.6排序标签<s:sort ....>


2.数据输出

2.1链接标签<s:a ... > 

2.2Action标签 <s:action ... >

 2.3JavaBean标签 

 2.4日期标签

 2.5调用标签

 2.6引用资源文件标签

 2.7包含页面标签

 2.8传递参数标签

 2.9值栈标签

 2.0.1国际化标签

 2.0.2链接标签

 2.0.3属性标签


3.Ajax标签

 3.1链接标签

 3.2自动完成标签

   3.3自动事件绑定标签

 3.4日期选择标签

   3.5树标签

 3.6Tab标签


一般用到的是迭代,国际化,ajax,条件,属性标签等。  使用<s:debug/>来查看值栈中的值。这个很有用处的。

<div id="header" class="wrap">
		<div id="logo">
			<img src="/House/images/logo.gif" />
		</div>
		<div class="search">
			<label class="ui-green"><input onclick="add()" type="button" name="search" value="发布房屋信息" /></label> <label class="ui-green"><input type="button" name="search" value="退       出" onclick='document.location="/House/index.jsp"' /></label>
		</div>
	</div>
	<div class="main wrap">
	
		<s:div id="HouseArea">
			<table class="house-list">
	<c:choose>
		<c:when test="${sessionScope.houseBean ne null}">
			<c:forEach items="${sessionScope.houseBean.houses}" var="house" varStatus="status">
				<c:choose>
					<c:when test="${status.count%2 != 0}">
						<tr>
					</c:when>
					<c:otherwise>
						<tr class="odd">
					</c:otherwise>
				</c:choose>
				<td class="house-thumb"><span><a href="House_show?id=${house.id}"><img src="/House/images/thumb_house.gif" /></a></span></td>
				<td>
					<dl>
						<dt>
							<a href="House_show?id=${house.id}">${house.title}</a>
						</dt>
						<dd>
							${house.street.district.name}区${house.street.name},${house.floorage }平米<br /> 联系方式:${house.contact }
						</dd>
					</dl>
				</td>
				<td class="house-type"><label class="ui-green"><input type="button" onclick='update(${house.id})' name="search" value="修    改" /></label></td>
				<td class="house-price"><label class="ui-green"><input type="button" onclick='del(${house.id}, ${sessionScope.houseBean.currPage})' value="删    除" /></label></td>
				</tr>
			</c:forEach>
		</c:when>
		<c:otherwise>
			<tr>
				<c:out value="无租房信息"></c:out>
			</tr>
		</c:otherwise>
	</c:choose>
	</table>
						<%--当点击下一页时,页面将houseBean通过set传给HouseAction,然后去数据库取数据
						         然后返回给页面,我的错误是:targets写错了,没有将currPage传过去,应该是这样写的:houseBean.currPage=???
						        还有就是一定要先测试一下,然后再来进行页面传参,还有就是HouseAction没有为houseBean生成set/get方法
						        还有就是ajax刷新机制,这个 <sx:a targets="HouseArea" href="/House/House_ajaxList.action?houseBean.currPage=1">
						        表示的是用户点击这个,然后访问 House_ajaxList.action,通过structs.xml来转发,进入HouseAction.ajaxList()方法
						        这个方法是这样写的return "ajaxL"+list().subString(1),之前太着急看错了,以为没有执行list()方法,后来打断点才发现
						        在返回ajaxList字符串之前,会访问list()方法,然后会通过反射取到houseBean,然后到数据库中取值,取到了存放到session中
						        这个我有点疑惑,如果数据量很大怎么办?和二期项目博客园一样,感觉使得session好沉重。
						        还有就是我对于dojo标签不是很清楚,还有structs标签也是一样
						        不过最后还是完成了,我是菜鸟,我在路上。   	--%>
			<div class="pager">
				<ul>
					<li class="current"><sx:a targets="HouseArea" href="/House/House_ajaxList.action?houseBean.currPage=1">首页</sx:a></li>
					<li class="current"><sx:a targets="HouseArea" href="/House/House_ajaxList.action?houseBean.currPage=%{houseBean.currPage - 1 }">上一页</sx:a></li>
					<li class="current"><sx:a targets="HouseArea" href="/House/House_ajaxList.action?houseBean.currPage=%{houseBean.currPage + 1 }">下一页</sx:a></li>
					<li class="current"><sx:a targets="HouseArea" href="/House/House_ajaxList.action?houseBean.currPage=%{houseBean.maxPage}">尾页</sx:a></li>
				</ul>
				<span class="total">${sessionScope.houseBean.currPage}/${sessionScope.houseBean.maxPage}页</span>
			</div>
		</s:div>
		
		
	</div>
	<div id="footer" class="wrap">
		<dl>
			<dt>租房 &copy; 2015 xxx科技有限公司 ICP证1000001号</dt>
			<dd>关于我们 · 联系方式 · 意见反馈 · 帮助中心</dd>
		</dl>
	</div>

你可能感兴趣的:(标签)