2017-01-07
16:02:46
<s:debug></s:debug><!-- 标签库中实现的debug -->
${name }<!-- 是从对象栈中获取的 -->
<br>
<h4>欢迎${sessionScope.username }</h4>
<br> 当前在线人数:${applicationScope.num }
<a href="logout.do">logout</a>
<br><br>
<s:property value="[1].name"/><!-- 是从对象栈中获取的第二个对象的属性 -->
<br><br>
<s:property value="#session.username"/><!-- 是从ValueStack中的context属性中获取的,和用EL一样 -->
<br><br>
<s:property value="@model.Person@age"/><!-- 访问静态属性(直接就可以) -->
<s:property value="@model.Person@setAge(11)"/><!-- 访问调用静态方法,需要在struts.xml中更改常量值 -->
<s:property value="@model.Person@age"/>
<h1>Tag</h1>
<s:property value="[1].name"/>||<s:property value="name"/>
<br><br>
<s:property value="#session.username"/>
<br><br>
<s:url value="/test" var="url1">
<s:param name="qq" value="111"></s:param>
</s:url>
<s:property value="url1"/>
<br><br>
<s:url value="test" var="url2">
<s:param name="qq" value="112"></s:param>
</s:url>
<s:property value="url2"/>
<br><br>
<s:url action="test" var="url3">
<s:param name="qq" value="113"></s:param>
</s:url>
<s:property value="url3"/>
<br><br>
<s:url action="test" method="save" var="url4">
<s:param name="qq" value="114"></s:param>
<s:param name="qqname" value="name"></s:param>
<s:param name="qqname2" value="'name'"></s:param>
</s:url>
<s:property value="url4"/>
<br><br>
<s:url action="test" includeParams="all" namespace="/qq" var="url5">
<s:param name="qq" value="115"></s:param>
</s:url>
<s:property value="url5"/>
<br><br>
<!-- if elseif if 同样它的值与值栈有联系(OGNL解析),会自动检测,若想关掉则在里面再添加单引号引住即可 -->
<s:if test="name>10">
大于10
</s:if>
<s:else>
小于等于10
</s:else>
<br><br>
<!-- 压入值栈 此标签开始时压入,标签结束即弹出-->
<s:push value="url4">
${url4 }
</s:push>
<br><br>
<!-- 访问参数 -->
<s:property value="#parameters.qqname[0]"/>
<br><br>
<!-- 遍历集合,方便,每遍历一个就像压入值栈遍历完出栈,所以容易访问 -->
<s:iterator value="[1].hm" status="qq">
${qq.index}-${qq.count }-${key }-${value }<br>
</s:iterator>
<br><br>
<!-- 向域对象中放入属性,同样value与值栈关系紧密(OGNL解析),可以另加‘’避免 -->
<s:set name="" value="" scope=""></s:set>
<br><br>
<!-- 排序,(对Map排序的方法) -->
<%
PersonComparator p = new PersonComparator();
request.setAttribute("pp", p);
%>
<s:sort comparator="#request.pp" source="[1].hm" var="hm2"></s:sort>
<s:iterator value="#attr.hm2" status="qq">
${qq.index}-${qq.count }-${key }-${value }<br>
</s:iterator>
<br><br>
<!-- a标签 -->
<s:iterator value="[1].hm" var="h">
<!-- 可以用EL表达式 -->
<a href="${url4}&key=${h.key}">${h.key }</a>
</s:iterator>
<s:iterator value="[1].hm" var="h">
<!-- 不可以用EL表达式,但可以用%{}来强制进行OGNL转换 -->
<s:a href="%{url4}&key=%{key}">${h.key }</s:a>
</s:iterator>
<br><br>
<!-- 转换时间格式 -->
<% Date d = new Date();request.setAttribute("date", d); %>
<s:date name="#request.date" format="yyyy-MM-dd hh:mm:ss" var="date2"/>
${date2 }
<br><br>