Struts2

Struts2 取值问题

 

1、值存放地方上下文ActionContext

这里里面有一个map,他存放了很多对象包括了request、session、application、attr、value stack

 

2、对于默认的<s:property value="没有#开头"/>他默认调用OGNL,ognl一开始默认从value stack去找,这个栈值对象其实来自action中。

 

3、如果#开头,不是从栈值去找了,去上下文中找

 

 

 

 

 

 

 

1、hashmap下拉列表时候


代码:

private HashMap bankMap;

bankMap = new LinkedHashMap();

        for(DicResp.Record record:dicList) {

            this.bankMap.put(record.getId(), record.getDescription());

        }


2、hashmap的value是list时候

结构是这样的projectList subProjectMap  subProjectMap根据projectId作为key。

id为: 名称:

asdf

   


3、jsp页面批量添加,action使用List来接受参数

1、你的struts2的拦截器需要打开拦截params

2、在jsp页面这么写:



[code=&quot;java&quot;] no1:
手输名称:
标化名称:
项目id:
相关部门Id(中间逗号隔开):
计划开始时间:
计划结束时间:
备注(最大内容不大于200字符):

no2:
手输名称:
标化名称:
合同项目id:
相关部门Id(中间逗号隔开):
计划开始时间:
计划结束时间:
备注(最大内容不大于200字符):

3、在action页面只需要:List stages;有他的get和set方法即可。

3、在jsp页面遍历HashMap

前提条件:action页面HashMapstages&gt;



[code=&quot;java&quot;] //注意这里使用[0]来访问list第一个对象
手输名称:
(隐藏id显示)标化名称:--需要显示的名称:${stage.stageName.name }
(隐藏id显示)项目id:
(隐藏id显示)合同项目id:
相关部门Id(中间逗号隔开):
计划开始时间:&quot;&gt;
计划结束时间:&quot;&gt;
备注(最大内容不大于200字符):


4、list中的保存数组

  1. <s:iterator value="collection1" status="status">  
  2.     <s:property value="collection1[#status.index][0]"/>  
  3.     <s:property value="collection1[#status.index][1]"/>  
  4. </s:iterator>  


5、郁闷,这个编辑器不好用。。。

 

6、

 

<s:set name="index" value="1" />

<s:iterator id="item1" value="sxsl.sxdataList" status="stuts">

 <s:if test="#item1.dataId==#item.seq&&#index==1">

 <s:set name="index" value="2" />

 <img src="img/ico_submit_16.gif" />

 </s:if>

</s:iterator>

通过s:set 设置初始值

当进入循环后,达到某条件。修改变量值,以后再怎么循环都不会进s:if了。

 

 

5、struts2中字符串的拼接

 

<s:if test="#request.pepMap!=null&&#request.pepMap.size()>0">
			<s:iterator value="#request.postList" id="post">
				<tr>
					<td><s:property/></td>
					<s:iterator value="#request.yearMonthList" id="ym">
						<s:set name="ympost" value="%{#ym.concat(#post)}"></s:set>
						<td><s:property value="#ympost"/> </td>
<%-- 						<td><s:property value="#request.pepMap[%{#ympost}]"/> </td> --%>
					</s:iterator>
				</tr>
			</s:iterator>
		</s:if>
 

 

你可能感兴趣的:(struts2)