[[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


トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS