struts part4

来源:互联网 发布:真人发音英语软件 编辑:程序博客网 时间:2024/05/20 16:41

1.DomainModel里没有new 对象时,想要struts new 出对象则需传递对象的参数(属性值),且domainmodel中要有默认的构造函数

 

2.代码上右键source--sort members 可以对属性排序

 

3.ognl 即object graph navigation language

 

4.struts2.1中想访问action中静态方法需要在struts.xml中添加<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>

 

5.<li>访问值栈中对象的普通方法:<s:property value="password.length()"/></li>

   <li>访问值栈中对象的普通方法:<s:property value="cat.miaomiao()"/></li>

   <li>访问值栈中action的普通方法:<s:property value="m()"/></li>

   

   <li>访问静态方法:<s:property value="@com.xlt.struts2.ognl.S@s()"/></li>

    <li>访问静态属性:<s:property value="@com.xlt.struts.ognl.S@STR"/></li>

    <li>访问math类的静态方法:<s:property value="@@max(2,3)"/></li>

 

    <li>访问普通类的构造方法:<s:property value="new com.xlt.struts2.ognl.User(8)"/></li>

 

     <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>

 

      <li>访问set :<s:property value="dogs"/></li>

     set里的元素无顺序,所以不能以set[0]来取得set 中第一个元素

 

      <li>访问map:<s:property value="dogmap"/></li>

      <li> 访问map中某个元素:<s:property value="dogmap.dog101"/>|<s:property value="dogmap['dog101']"/>|<s:property value="dogmap[\"dog101\"]"/></li>

     在ognl中可以用\"来引出字符串,也可以用 ' 来引出,而在java中 ' 只能引出字符

 

 

       <li>访问map中所有的key:<s:property value="dogmap.keys"/></li>

       <li>访问map中所有的value:<s:property value="dogmap.values"/></li>

       <li>访问容器的大小:<s:property value="dogmap.size()"/></li>

 

        正则里,^表示开头,?表示过滤条件,$表示结尾

        <li>投影(过滤):<s:property value="users.{?#this.age==1}.{age}"/></li>

        <li>投影:<s:property value="users.{^#this.age>1}.{age}"/></li>

        <li>投影:<s:property value="users.{$#this.age>1}.{age}"/></li>

         <li>投影:<s:properyt value="users.{$#this.age>1}.{age}==null"/></li>

 

         <li>[ ]:<s:property value="[0]"/></li>

          访问值栈里的第一个到底的对象集合,result type="chain"时,会压入多个action到值栈中。

 

        

原创粉丝点击