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

本文介绍 Struts2 框架中的五个核心标签:property、set、bean、push 和 date 的使用方法及注意事项。通过示例演示如何在 JSP 页面中正确应用这些标签,以实现数据展示、变量设置、JavaBean 创建等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         随着各个框架的推出,各框架都有了自己专有的标签库。除了有官方的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 >

        此处没有列出各标签的全部属性,此处列出的属性均为常用属性,如需获得更详细的信息可以参考官方文档。程序均亲自调试过,如有问题,请留言。 
        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值