您好我想用一些值填充选择下拉列表。我使用Struts 2,Tiles和JSP。我在Action类中初始化我的列表但我仍然收到以下错误: 引起:标记'select',字段'list',名称'anneeResultat':请求的列表键'anneesResultatsList'无法解析为collection / array / map / enumeration / iterator类型。例如:人或人。{name} - [unknown location] 这是我在Action类中的代码:
private AnneeResultat anneeResultat;
private Map<String, String> anneesResultatsList = new HashMap<String, String>();
public Map<String,String> getAnneesResultatsList() {
this.anneesResultatsList.put("2005","2005");
this.anneesResultatsList.put("2006","2006");
this.anneesResultatsList.put("2007","2007");
this.anneesResultatsList.put("2008","2008");
this.anneesResultatsList.put("2009","2009");
this.anneesResultatsList.put("2010","2010");
this.anneesResultatsList.put("2011","2011");
return this.anneesResultatsList;
}
public void setAnneesResultatsList(Map<String,String> anneesResultatsList) {
this.anneesResultatsList = anneesResultatsList;
}
return SUCCESS;
}
我的struts.xml文件包含:
<action name="ChoixAxes" class="fr.si2m.occ.web.actions.ChoixAxesAction"
method="execute">
<result type="tiles">choixAxes.tiles</result>
</action>
我的jsp在这里:
<s:set name="theme" value="'xhtml'" scope="page" />
<s:form action="ChoisirAxes" name="choices" id="choices">
<s:select name="anneeResultat" label="Année de résultats" list="anneesResultatsList"></s:select>
<s:radio label="Listes nominatives" name="listesNominatives" list="#{'1':'Oui','2':'Non'}" value="2" />
<s:submit value="Calculer provisions" name="calculerProvisions"/>
<s:reset value="Annuler" />
<input type="button" value="Critères sauvegardés" id="criteresSauvegardes"/>
</s:form>
有人可以帮我吗? 从yersterday开始我就遇到了这个问题。
答案 0 :(得分:0)
为实现的操作准备拦截器调用prepare() 制备。这种拦截器对于任何情况都非常有用 你需要确保在实际执行方法之前运行一些逻辑 运行。
你的动作应该扩展Preparable interceptor并覆盖prepare()方法,给出预先填充的数据。
答案 1 :(得分:0)
将AnneesResultatsList放入会话
Map session=ActionContext.getScession();session.put("list",AnneesResultatsList );
<pre>
s:select name="anneeResultat" label="Année de résultats" list="%{#session.list}""></s:select>
</pre>
答案 2 :(得分:-1)
实际上是,
Map session = ActionContext.getcontext().getsession();
session.put("key",list);
<s:select list="%{#session.key}">