二、数据输出标签
1)action标签
<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("")方式可以获取到。
2)date标签
<s:date>标签用以格式化日期并显示
<s:date name="user.birth" format="yyyy-MM-dd HH:ss:mm"nice="false"/> |
name:表示要输出的日期对象。
format:输出的日期格式。
nice:指定是否输出指定日期与当前时刻之间的时差。若nice="true",则format属性失效,只输出当前时刻与指定日期间的间隔;若nice=“false”,则是输出指定日期。
3)bean标签
bean标签用于创建javaBean实例,需要java类提供相应的getter、setter方法
<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栈。
注意:java类String类型的属性赋值时,必须再加个单引号' '。
4)parma标签
param标签用于为其他标签添加参数,用法如下:
1 <!-- 第一种用法 --> 2 <s:param name="参数名" value="参数值"/> 3 <!-- 第二种用法 --> 4 <s:param name="参数名">参数值</s:param> |
注意:字符串赋值时要加单引号。详见bean标签用法。
5)property标签
property标签用于输出一个属性值。
<s:property value="user.name" escape="false" default="默认值" /> |
value:指定属性的名称,默认值是栈顶元素。
escape:指定输出的内容是否要经过HTML转义,默认值是true。escape="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中的内容