Flyever,Zhang's Bolg

我在奋斗。。。
posts - 4, comments - 3, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

关于Struts2中的标签介绍(一)

Posted on 2008-08-17 17:22 Flyever,Zhang 阅读(566) 评论(1)  编辑  收藏 所属分类: Struts2
        随着各个框架的推出,各框架都有了自己专有的标签库。除了有官方的JSTL特别优秀外,其它各框架推的也相当的优秀。有了标签,我们可以让UI和业务逻辑不在纠缠在一起,也为操作模型层提供了方便。
        在学Struts2框架的时候,必须学习它的标签,否则也是一种遗憾。
        在此我假设JSP文件中声明了<%@ taglib prefix="s" uri="/struts-tags" %>,以S为前缀。
        1、<s:property/>
              属性标签是用来获取ActionContext中的内容。例:
1<%
2      session.setAttribute("param1","param1");
3      request.setAttribute("param2","param2");
4  %>
5  <s:property value="#session.param1"/><br>
6   <s:property value="#request.param2"/><br>
7   <s:property value="#session['param1']"/><br>
8   <s:property value="#request['param2']"/><br>
9   <s:property default="defaultvalue" value="s"/><br>
         注:在取四种属性范围里的值时,我们要使用OGNL语言来操作,如第五行到第八行所示。在获取Action中的属性时,我们不用使用OGNL语言来操作,直接往value属性中写入要取得的属性名则可,如果要获取Action中某属性中的属性时,使用点操作符则可,如<s:property  value="company.name"/>。如果要显示默认值的话,使用defaut属性,如第九行所示,这时无论value属性取何值,均显示默认值。
        2、<s:set/>
         set标签用于为指定的变量设定值,它对值栈中的表达示进行求值并将其赋给指定的变量名。如下所示:
 1 <%
 2      session.setAttribute("param1","param1");
 3        %>
 4<s:set name="param" value="#session.param1"></s:set>
 5   <s:property value="#param"/><br>
 6   <s:set name="param" value="#session.param1" scope="request"></s:set>
 7   <s:property value="#request.param"/><br>
 8   <s:set name="param" value="#session.param1" scope="session"></s:set>
 9   <s:property value="#session.param"/><br>
10   <s:set name="param" value="#session.param1" scope="application"></s:set>
11   <s:property value="#application.param"/><br>
          注:scope的值为四种属性范围中的一种。
           3、<s:bean/>
            可以使用该标签创建简单的JavaBean并把它压入valuestack中。该标签还可以使用<s:param>设定参数的值。如下所示:
1 <s:bean name="user" id="user"><!-没有scope属性,会被压入valuestack中->
2           <s:param name="name" value="'flyever,zhang'"></s:param>
3           <s:param name="gender" value="'male'"></s:param>
4   </s:bean>
         :运行该程序时还需新建一User类。在写往value属性中写入字符串值时,一定要用单引号括起来,否则会被认为是一个变量。 
         4、<s:push/>
            该标签可以把程序员在ActionContext中引用的对像压入valuestack中,为以后访问对象提供了方便。如下所示:
1 <s:push value="#request.user">
2           <s:property value="name"/>
3           <s:property value="gender"/>
4   </s:push>   
        :此处user对象之前被手动存于request中。
        5、<s:date/>
        用于格式化日期,最后输出到页面中。如下所示:
 <%
      Date date
=new Date();
      session.setAttribute(
"date",date);
   
%>
   
<s:date name="#session['date']" format="yy/MM/dd"></s:date>
        此处没有列出各标签的全部属性,此处列出的属性均为常用属性,如需获得更详细的信息可以参考官方文档。程序均亲自调试过,如有问题,请留言。 
   

评论

# re: 关于Struts2中的标签介绍(一)[未登录]  回复  更多评论   

2010-01-26 19:38 by 初学者
<%
Date date=new Date();
session.setAttribute("date",date);
%>
<s:date name="#session['date']" format="yy/MM/dd"></s:date>
是否可以下面用:
<%
Date date=new Date();

%>
<s:date name="date" format="yy/MM/dd"></s:date>
我试了,咋个没有反应呢,未显示出日期????

只有注册用户登录后才能发表评论。


网站导航: