<session-config>
<session-timeout>1</session-timeout>
</session-config>未整理
Firefoxだと問題なくメソッドが実行できる。 しかし、IEだとメソッドが実行できず、エラーになってしまう。
f:url('')を使用すると、jsessionidが付与されることがある。(初期アクセス時など) ajaxのurlが意図したもとの違ってしまい 404 エラーが出ることがある。
"?redirect=true"でjsessionidが付与されないようにするとよい。
public class XxxAction {
@Execute(validator = false, urlPattern = "changeCode/{code}")
public String changeCode() {
List<CodeDto> list = new ArrayList<CodeDto>();
CodeDto dto = new CodeDto();
dto.id = value.substring(2, 8);
dto.name = label;
list.add(dto);
String json = JSON.encode(list);
ResponseUtil.write(json);
return null;
}
}<script src="${f:url('/js/jquery.js')}"></script>
<script type="text/javascript">
<!--
function combo_onchange(code) {
$.ajax({
type: "POST",
dataType: "json",
url: "${f:url('changeCode')}" + "/" + code,
success: function (data, textStatus, jqXHR) {
alert("data.length:[" + data.length + "]");
for(var index = 0; index < data.length; index++) {
alert(data[index].id + ":" + data[index].name);
}
},
error: function(jqXHR, textStatus, errorThrown) {
alert(jqXHR.responseText);
}
});
}
// -->