struts2常用标签库之数据输出标签

时间:2021-08-27 04:42:48

二、数据输出标签

1action标签

<s:action>标签用于在jsp页面中直接调用Action

<s:action name="loginAction"  namespace="/user" ignoreContextParam="false"  executeResult="true" >  

     <s:param name="userName" value="'张三'"></s:param>    

</s:action>  

 

name:struts.xml中指定Action的名称

executeResult:指定是否将Action的处理结果包含到本页面中.默认值为false(即不包含)

ignoreContextParam:指定该页面的请求参数是否需要传入调用的Action,默认值是false(即传入参数)  

注意:<s:param>是以request方式的值的,而不是以参数传值,所以request.getParameter("")会获取不到值,通过request.getAttribute("")方式可以获取到。 

2date标签

<s:date>标签用以格式化日期并显示

<s:date name="user.birth" format="yyyy-MM-dd HH:ss:mm"nice="false"/>  

 name:表示要输出的日期对象。

format:输出的日期格式。

nice:指定是否输出指定日期与当前时刻之间的时差。若nice="true",则format属性失效,只输出当前时刻与指定日期间的间隔;若nice=false”,则是输出指定日期。

3bean标签

bean标签用于创建javaBean实例,需要java类提供相应的gettersetter方法

<s:bean name="pojo.User" id = "user">  

<s:param name="name" value=" '张三' "></s:param>  

<s:param name="email" value=" '48964565@qq.com' "></s:param>  

<s:param name="age" value="20"/>  

   <s:param name="birth" value="'2010-4-1'"/>  

</s:bean>   

<s:property value="#user.name"/>  

<s:property value="#user.email"/>  

<s:property value="#user.age"/>  

<s:date name="#user.birth" format="yyyy-MM-dd" nice="false"/> 

name: 必填,指定要实例化的JavaBean的实现类

id: 可选。如指定了该属性,则该Javabean实例会被放入StackContext(不是ValueStack),从而允许直接通过该id属性来访问该JavaBean实例。如果未指定,则该Javabean实例会被放入ValueStack中,该标签结束,生成的子集被移出valuestack栈。

注意:javaString类型的属性赋值时,必须再加个单引号' '

4parma标签

param标签用于为其他标签添加参数,用法如下:

<!--  第一种用法 -->  

<s:param name="参数名" value="参数值"/>  

<!-- 第二种用法 -->  

<s:param name="参数名">参数值</s:param>  

注意:字符串赋值时要加单引号。详见bean标签用法。

5property标签

property标签用于输出一个属性值。

<s:property value="user.name" escape="false" default="默认值" />  

value:指定属性的名称,默认值是栈顶元素。

escape:指定输出的内容是否要经过HTML转义,默认值是trueescape="false"表示会将类似"<h2>aaa</h2>"的字符串转义成html显示。

default:指定默认值。

6<s:url>标签和<s:a>标签

<s:url>标签通常与<s:a>标签一起使用,<s:url>标签主要用于赋值給href属性,用于指定链接的地址和传递的参数。

<!-- 指定链接的action 及 传递的参数 -->  

<s:url action="getUserList" namespace="test2" id="getUserListUrl" method="execute">    

<s:param name="id" value="1"></s:param>     

    <s:param name="page" value="1"></s:param>  

</s:url>    

<!-- 链接地址引用了<s:url>的值 -->  

<s:a href="%{getUserListUrl}" >获取用户列表</s:a> 

其结果等同于<a href="/test2/getUserList ! execute ?id = 1 & page = 1"></a>

7<s:debug>标签

<s:debug>标签用于在页面上生成一个连接,当点击链接时,可以看到ValueStack 和 Stack Context中的内容