<body> 
  
    <s:property value="name"/>
    
    <s:append var="myList">
      <s:param value="%{MyList}"></s:param>
    </s:append>
    <s:iterator value="%{#myList}" var="t">
      <s:property value="%{#t.name}"/><br />
    </s:iterator>
    <s:debug></s:debug>
  </body>
%{} 和 #具体代表什么?

解决方案 »

  1.   

    经常出现的符号作用:  #:访问非跟元素属性;        过滤、投影集合:如users.{$#this.age>1}.{age}     ,users.{?#this.age==1}[0]        生成Map: 如#{k1:v1;k2:v2……} %:标识属性为String; $ :   配置文件中引用OGNL表达式  <s:property value="[0]"/>:得到的是值栈中所有对象的集合 <s:property value="[0].XXX"/>:依次会去找相应对象的XXX属性在服务器端跳转的时候,在值栈中可能会有多个Action.例如   <action name="ognl" class="com.piaosan.struts2.action.OGNLAction">
       <result>/ognl.jsp</result>
      </action>
      <action name="test" class="com.piaosan.struts2.action.ExampleAction">
       <result type="chain">ognl</result>
      </action><s:property value="[0]"/>得到的是:[com.piaosan.struts2.action.OGNLAction@65cc33, com.piaosan.struts2.action.ExampleAction@14161eb, com.opensymphony.xwork2.DefaultTextProvider@183a17c]
      

  2.   

    http://blog.csdn.net/axzywan/archive/2008/07/12/2643921.aspx