之前看视频时做的笔记,希望能帮到你:
一、OGNL Object Graph Navigation Language
a普通
<li>访问值栈中的action的普通属性: username = <s:property value="username"/> </li>
<li>访问值栈中对象的普通属性(get set方法):<s:property value="userage"/> | <s:property value="user['age']"/> | <s:property value="user[\"age\"]"/> | wrong: <%--<s:property value="user[age]"/>--%></li>
<li>访问值栈中对象的普通属性(get set方法): <s:property value="catfriendname"/></li>
<li>访问值栈中对象的普通方法:<s:property value="passwordlength()"/></li>
<li>访问值栈中对象的普通方法:<s:property value="catmiaomiao()" /></li>
<li>访问值栈中action的普通方法:<s:property value="m()" /></li>
b访问静态
<li>访问静态方法:<s:property value="@combjsxtstruts2ognlS@s()"/></li>
<li>访问静态属性:<s:property value="@combjsxtstruts2ognlS@STR"/></li>
<li>访问Math类的静态方法:<s:property value="@@max(2,3)" /></li>
使用struts 21时,要访问到静态方法就必须在strutsxml中配 <constant name="strutsognlallowStaticMethodAccess" value="true"></constant>
可以参考struts2-core-216jar包下的,orgapachestruts2里面的defaultprperties
c访问普通类的构造方法:<s:property value="new combjsxtstruts2ognlUser(8)"/></li>
d访问List
<li>访问List:<s:property value="users"/></li>
<li>访问List中某个元素:<s:property value="users[1]"/></li>
<li>访问List中元素某个属性的集合:<s:property value="users{age}"/></li> 大括号可以表示集合
<li>访问List中元素某个属性的集合中的特定值:<s:property value="users{age}[0]"/> | <s:property value="users[0]age"/></li>
eSet
<li>访问Set:<s:property value="dogs"/></li>
<li>访问Set中某个元素:<s:property value="dogs[1]"/></li> 访问不到,因为Set没有顺序
<li>访问Map:<s:property value="dogMap"/></li>
<li>访问Map中某个元素:<s:property value="dogMapdog101"/> | <s:property value="dogMap['dog101']"/> | <s:property value="dogMap[\"dog101\"]"/></li>
fMap
<li>访问Map中所有的key:<s:property value="dogMapkeys"/></li>
<li>访问Map中所有的value:<s:property value="dogMapvalues"/></li>
<li>访问容器的大小:<s:property value="dogMapsize()"/> | <s:property value="userssize"/> </li>
g投影
<li>投影(过滤):<s:property value="users{#thisage==1}</li> 取到的是一个集合
<li>投影(过滤):<s:property value="users{#thisage==1}[0]"/></li> 问号代表过滤条件
<li>投影:<s:property value="users{^#thisage>1}{age}"/></li> ^表示开始
<li>投影:<s:property value="users{$#thisage>1}{age}"/></li> $表示结尾
<li>投影:<s:property value="users{$#thisage>1}{age} == null"/></li>
二、Struts2-Tags
aproperty
<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> 是否解析HTML,默认TRUE <hr/>一条横线
<li>property 设定HTML: <s:property value="'<hr/>'"/> </li>
bset
<li>set 设定var,范围为ActionContext: <s:set var="adminPassword" value="password" scope="session"/></li>
<li>set 使用#取值: <s:property value="#adminPassword"/> </li>
<li>set 从相应范围取值: <s:property value="#sessionadminPassword"/> </li>
cbean 定义bean,并使用param来设定新的属性值:
<s:bean name="combjsxtstruts2tagsDog" var="myDog"> 必须要有var,否则不能存放到Struts Context
<s:param name="name" value="'oudy'"></s:param> 必须加单引号,否则访问不到。加了,表示是一个字符串
<s:property value="name"/> 可以通过property 对其进行访问,如果没有var则不能在bean外访问到,原因bean一结束,就会从栈里取走。
</s:bean>
拿出值:<s:property value="#myDogname"/>
dinclude 不常用
<li>include _include1html 包含静态英文文件
<s:include value="/_include1html"></s:include>
</li>
<li>include _include2html 包含静态中文文件
<s:include value="/_include2html"></s:include>
</li>
<li>include _include1html 包含静态英文文件,说明%用法
<s:set var="incPage" value="'/_include1html'" />
<!--<s:set var="incPage" value="%{'/_include1html'}" />-->
<s:include value="%{#incPage}"></s:include> %{}表示将里面的东西按OGNL表达式处理。
</li>
eif elseif else
age = <s:property value="#parametersage[0]" /> <br />
<s:set var="age" value="#parametersage[0]" />
<s:if test="#age < 0">wrong age!</s:if>
<s:elseif test="#parametersage[0] < 20">too young!</s:elseif>
<s:else>yeah!</s:else><br />
<s:if test="#parametersaaa == null">null</s:if>
</li>
fiterator
<li>遍历集合:<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="#xtoUpperCase()"/> |
</s:iterator>
</li>
<li>使用status:<br />
<s:iterator value="{'aaa', 'bbb', 'ccc'}" status="status">
<s:property/> |
遍历过的元素总数:<s:property value="#statuscount"/> |
遍历过的元素索引:<s:property value="#statusindex"/> |
当前是偶数?:<s:property value="#statuseven"/> |
当前是奇数?:<s:property value="#statusodd"/> |
是第一个元素吗?:<s:property value="#statusfirst"/> |
是最后一个元素吗?:<s:property value="#statuslast"/>
<br />
</s:iterator>
</li>
<li>
<s:iterator value="#{1:'a', 2:'b', 3:'c'}" > 定义Map时要加一个#
<s:property value="key"/> | <s:property value="value"/> <br />
</s:iterator>
</li>
<li>
<s:iterator value="#{1:'a', 2:'b', 3:'c'}" var="x">
<s:property value="#xkey"/> | <s:property value="#xvalue"/> <br />
</s:iterator>
</li>
// 其实这样是正常的啊,你为 input 添加 onblur 事件,但是你后来添加的 input 并没有为它绑定 onblur 事件,所以是不会执行你的 alert('ss') 的,如果每次页面一遍就要全部重新绑定,那效率会很慢的,你可以为新的 input 绑定方法,如下修改你的代码:
<script type="text/javascript">
$(function() {
// 为你的 input 绑定 onblur ,执行 myalert() 方法
$("#table input")blur(function() {
myalert();
});
// 点击的时候新增一个按钮,这个按钮有 onblur="myalert()"
// 当然,你这里也可以把 input 抽离出来
// 这里你的 inp 是一个 jquery 对象,建议用 $(); 包起来,否则火狐好像有些版本不兼容
$("#button")click(function() {
var inp = $('<tr><td><input name="val[]" type="text" onblur="myalert()" /></td></tr>');
$("#table tr:last")after(inp);
});
})
// 这是你的 alert 方法,为了公用,就抽离出来
function myalert() {
alert("ss");
}
</script>
// 另外你也可以使用 live 来绑定 onblur 事件,使用 live 的话,你的对象每次一发生改变,则会重新执行绑定和加载事件,效率可能比较慢,但是也可以实现效果,修改你的代码如下:
<script type="text/javascript">
$(function() {
$("#table input")live("blur", function() {
alert("ss");
});
$("#button")click(function() {
var inp = $('<tr><td><input name="val[]" type="text" /></td></tr>');
$("#table tr:last")after(inp);
});
})
</script>
<li value="58,69,76,80,87,92,100">全站</li>
加个id方便点
<li id="liID" value="58,69,76,80,87,92,100">全站</li>
<script type="text/javascript">
var liObj = documentgetElementById("liID");
//输出的就是你要的value值
alert(liObjgetAttribute("value"));
//如果要按逗号拆分成数姐,可以这样
alert(liObjgetAttribute("value")split(",")[0]);
</script>
以上就是关于struts2 value="%{user.age}"获取不到值得问题全部的内容,包括:struts2 value="%{user.age}"获取不到值得问题、jQuery获取表单点击事件返回的value值报错没办法获取。。。、为什么JS获取不到value中逗号后面的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)