我很抱歉发布了这么多问题,我想我需要阅读更多......
但首先,我想知道你们是否可以帮助我,因为这已经困扰了我很长一段时间了,并且一直在想为什么它不起作用。
(这与先前的错误无关。没有解决这个问题,而且新的问题已经解决了:x)
我有一个列表,我想填充到另一个,但在这样做的过程中,我得到了标题错误:The requested list key could not be resolved as a collection/array/map/enumeration/iterator type.
我环顾四周并尝试了代码,但它似乎并没有真正起作用。这是我的代码:
JSP(和jquery):
<s:select id="feb" name="feb" headerKey="-1" list="febList"
listKey="key" listValue="description" theme="simple" cssClass="formfields" />
$('select#feb').change(function() {
$.ajax({
url: "AnnotateSearchList?feb="+$(this).val()+"&dept="+$("#dept").val(),
dataType :'json',
type:'GET',
contentType: 'application/json',
success : function(data) {
alert('test');
},
error: function(){
alert('Error');
}
})
});
方法: public String doGetSelectedList() {
this.output = new StringBufferInputStream("");
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy");
Calendar startCalendar = Calendar.getInstance();
startCalendar.add(Calendar.DAY_OF_YEAR, -3);
Calendar endCalendar = Calendar.getInstance();
if (this.startDate == null || this.startDate.equals("")) {
this.startDate = sdf.format(startCalendar.getTime()).toString();
}
if (this.endDate == null || this.endDate.equals("")) {
this.endDate = sdf.format(endCalendar.getTime()).toString();
}
System.out.println("Feb "+this.feb);
System.out.println("Dept "+this.dept);
this.optionList =xxx.getList(this.feb, this.dept, this.startDate, this.endDate);
ArrayList<SelectItemsData> optList = new ArrayList<SelectItemsData>();
for(String list : optionList){
optList.add(new SelectItemsData(list, list));
}
System.out.println("Size of list: "+this.optionList.size());
System.out.println(optList.size());
String json = new Gson().toJson(optList);
logger.sendMessage(getClass().getSimpleName(), LogHandler.INFO, json);
//System.out.println(json);
try {
response.setContentType("Application/json");
response.getWriter().write(json);
this.output = new StringBufferInputStream(json);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return SUCCESS;
}
// SelectItemsData的数据持有者: SelectItemsData(String key,String description);
支柱/ XML:
<action name="AnnotateSearchList" class="mycompanyName.ajax.actions.ParetoChartCore" method="doGetSelectedList">
<result type="stream">
<param name="contentType">application/json</param>
<param name="inputName">output</param>
</result>
<result name="success">/ParetoChart.jsp</result>
</action>
我在哪里出错?我的结果实际上是返回到同一页面,所以我认为这可能是错误的可能原因。 感谢。
答案 0 :(得分:0)
我在struts.xml中将“success”更改为“SUCCESS”并且它有效。