- 追加された行はこの色です。
- 削除された行はこの色です。
- SoftwareEngineering/ProgramLanguage/Java/Seasar/SAStruts は削除されています。
[[SoftwareEngineering]]
*SAStruts [#rd1e9d11]
#contents
**セッションタイムアウトの指定 [#pa0bce09]
-web.xml
単位は分
下記の例では、一分でセッションが切れる
<session-config>
<session-timeout>1</session-timeout>
</session-config>
//End セッションタイムアウトの指定
**SAStruts + jQuery [#zf726fe4]
***AjaxでJavaのメソッドが実行できない [#m2857b1d]
未整理
Firefoxだと問題なくメソッドが実行できる。
しかし、IEだとメソッドが実行できず、エラーになってしまう。
f:url('')を使用すると、jsessionidが付与されることがある。(初期アクセス時など)
ajaxのurlが意図したもとの違ってしまい 404 エラーが出ることがある。
"?redirect=true"でjsessionidが付与されないようにするとよい。
-Java
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;
}
}
-JSP
<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);
}
});
}
// -->
//SAStruts + jQuery