struts part5


<li>property:<s:property value="username"/></li>
<li>property取值为字符串:<s:property value="'username'"/></li>
<li>property设定默认值:<s:property value="admin" default="管理员"/></li>
若值栈中无admin则用"管理员"为默认值
<li>property 设置html:<s:property value="'<hr/>'" escape="false"/></li>

set标签,默认scope为action即request和actioncontext,如没有其他scope,则到相应scope中去取值

即可,且name和id都已deprecated,使用var value 和 scope即可。

<li> set 设定adminname值(默认为request和actioncontext):
 <s:set var="adminName" value="username"/></li>
<li>set 从request取值:<s:property value="#request.adminName"/></li>
<li>set 从actioncontext取值:<s:property value="#adminName"/></li>
s debug内容中无值原因是debug内容还没有将request中值包含进去就显示出来了。
<li>set 设定范围:<s:set name="adminPassword" value="password" scope="page"/></li>
<li>set 从相应范围取值:<%=pageContext.getAttribute("adminPassword")%></li>此为jsp取值方式

<li>set 设定scope:<s:set var="adminPassword" value="password" scope="session"/></li>
<li>set 从相应范围取值:<s:property value="#session.adminPassword"/></li>


<li>bean 查看debug情况:
 <s:bean name="com.xlt.struts2.tags.Dog" var="myDog">
 <s:param name="name" value="'oudy'"></s:param>若为value="oudy"表示为ognl表达式则

oudy为对象
 </s:bean></li>

<s:bean name="com.xlt.struts2.tags.Dog">
 <s:param name="name" value="'pp'"></s:param>
 <s:property value="name"/></s:bean>
没有使用var则在<s:bean/>范围外就没有该对象了所以访问不到,若使用了var 会将其放入

actioncontext中即使脱离<s:bean/>范围<s:property value="#myDog.name"/>同样可以访问到。

window-preference-file association   *.html可以修改默认打开html的工具。

<li>include _include1.html 包含静态英文文件,说明%用法
 <s:set var="includePage" value="'/_include1.html'"/>
 <s:include value="%{#includePage}"></s:include></li>
%{}表示将{}中表达式视为ognl表达式。include不常用。

$用于i18n和struts配置文件
#取得actioncontext中的值
%将原本的文本属性解析为ognl,对于本来就是ognl的属性不起作用
<s:property value 为ognl     <s:include value里不强转为普通字符串

window-preferences-content assist  里auto activation delay可以设置提示时间

<li>if elseif else:
『』  age=<s:property value="#parameters.age[0]"/><br/>
 <s:if test="#parameters.age[0]<0">wrong age!</s:if>
 <s:elseif test="#parameters.age[0]<20">too young</s:elseif>
 <s:else>yeah!</s:else><br/>

上段中『』后可以用set标签:
<s:set var="age" value="#parameters.age[0]"/>后面代码中test="#age"替换即可。

<li>遍历集合{1,2,3}:<br/>
 <s:iterator value="{1,2,3}">
 <s:property/></s:iterator></li>

<li>自定义变量<br/>
 <s:iterator value="{'aaa','bbb','ccc'}" var="x">
 <s:property value="#x.toUpperCase()">
 </s:iterator></li>

<li>使用status:<br/>
 <s:iterator value="{'aaa','bbb','ccc'}" status="status">
 <s:property/>
 遍历过的元素总数:{s:property value="#status.count"/}|
 遍历过的元素索引:{s:property value ="#status.index"/}|
 当前是偶数?:<s:property value="#status.even"/>|
 当前是奇数?:<s:property value="#status.odd"/>|
 是第一个元素吗?:<s:property value="#status.first"/>|
 是最后一个元素吗?:<s:property value="#status.last"><br/></s:iterator>

<li>定义map:<br/>
 <s:iterator value="#{1:'a',2:'b',3:'c'}">
 <s:property value="key"/>|<s:property value="value"/><br/>
 </s:iterator></li>

iterator 可以遍历collections(list,set ,stack,queue),map,enumeration,iterator,array

UI标签 theme主题:simple,xhtml(默认的主题),css_xhtml,ajax

可以通过在struts.xml中添加自定义的主题:
<constant name="struts.ui.theme" value="mytheme"/>来配置ui主题,mytheme为src包下

template.mytheme


建议的方式:把所有主题定义为simple,fielderror特殊处理,自己控制其他标签的展现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值