<!-- Struts2 Chater6 Struts2标准标签库! Goal:目标并不是让我们用Struts2中的标签去替换我们以前学的标准标签库,相反, 使用我们以前学的东西来替换Struts2中的标签! --> 要在页面中使用Sruts2中的标签,那就需要引入标签库: <%@ taglib uri="/struts-tags" prefix="s"%> 在这里说明一下,如果使用的是struts的标签,那么,EL表达式将在这个标签中不起任何作用,反而会报错, 因为在struts中默认使用的是ONGL这种脚本语言,所以,很多情况下,我们是不会使用Struts标签的,但是 几种情况下列外: 注:在Filter中不要忘记了过滤一下写了该标签的页面! 1)<s:action name="action的名称"></s:action> 这个标签用得比较多~关键是标准标签库中的<c:import url=""></c:import>这个标签不能引用action 所以当我们要访问action时就要使用<s:action name="">了 <s:action name="action的名称"> 讲解:name指的是action的名称,但是后面不用在.action了 action的名称指的是在Struts.xml中配置的action的名称! eg:<s:action name="queryUser"></s:action> 在struts.xml中:<action name="*User" class="...." method="{1}"/> 这样就可以在query方法中进行查询数据,在用ServleteActionContext.getRequest().setAttribute()进行传值了, 在页面:${requestScope.XXX}进行取值 然后在附带一句:能够访问action的除了Struts的标签,还可以使用JQuery中的额AJAX来访问: $(function(){ $.post("action的名称.action",{参数列表},function(data){ //可以写关于数据交互的代码了! }); }); eg: $(function(){ $.post("queryUser.action",{pageId:1},function(data){ var myData=$(eval(data)); myData.each(function(i,item){ // }); }); }); 注意,写了要访问的action名称后可不能忘记.action了哦! 二,这个是写给我自己的:javaBean <!--相对于JSP--> <% UserInfo uinfo=new UserInfo(); uinfo.setUserName("Kerry"); %> <!--相对于JavaBean--> <jsp:useBean id="uinfo" class="com.shu.model.UserInfo"> <jsp:setProperty property="userName" name="uinfo" value="Kerry"/> </jsp:userBean> <!--相对于JSTL--> <c:set target="${uinfo}" property="userName" value="Kerry"/> 三,被忽略的伯乐 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="f"%> 与 <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> 转换时间格式用的: <% Date d=new Date(); %> <f:formatDate value="${d}" pattern="yyyy-MM-dd HH:mm:ss:S"/> 获取长度: <fn:len(${list_data})/> 三,其余的都么有什么实际的意义了~这里再来回顾一下Json //在方法中: public void query(){ //省略了N步 List list_data=DBUtil.commonQuery(sql,Data.class); StringBuffer strBuf=new StringBuffer("{["); for(data da : list_data){ //注意~千万要注意,在这里的值中,千万不能,一定要记住要用单引号,不然在JS中使用eval会出错! strBuf.append("{id:'"+da.getId()+"',name:'"+da.getName()+"',....},"); } //删掉最后一个无用的",",这个方法在String中没有,但是在StringBuffer中有 strBuf.deleteChar(strBuf.lastIndexOf(",")); strBuf.append("]}"); HttpServletResponse response=ServletActionContext.getResponse(); response.setCharacterEncoding("UTF-8"); ResponseWriter out=response.getWriter(); out.print(strBuf); out.flush(); out.close(); } 在JQuery中: $(function(){ $.post("queryUser.action",{xxx},function(data){ //把data转为JS对象,再把JS对象转为JQuery对象 var myData=$(eval(data)); myData.each(function(i,item){ //可以这样取值完全是有JSON这种格式的好处,所以这个很受青睐! var id=item.id; var name=item.name; //so~when we get the value we can do everthing with it! }); }); }); 剩下的多是比较比较有点不太符合科学的~呵呵~所以就略过不讲了O(∩_∩)O~ <!-- Author:Lovingshu's Forever Date:2011-10-30 19:40 Remark:Ha Ha~ Today we'd gone to mountain GeLe,Oh~man~I'd break my limited! And the meal there is very good tasty and cheap!It's really good,I like it(I mean the place!)! -->