2016-06-03 3 views
0

저는 struts 2 jquery 태그를 사용하는 JSP를 가지고 있습니다. 지금Struts2 jquery 액션은 성공시 전체 폼을 반환합니다.

function lpnFilter() { 
       var param = $('#sortForm').serialize(); 
       //var jsonValidationParam = "&struts.enableJSONValidation=true"; 
       //param = param + jsonValidationParam; 
       $.ajax({ 
        type : 'POST', 
        url : 'getLPNDetails', 
        data : param, 
        success : function(data) { 
         alert(JSON.stringify(data)); 
         //alert(data.lpn); 

        }, 
        async : false 
       }); 
       //$('#lpnDetails').show(); 
      } 

:

@Action(value = "getLPNDetails", results = { 
       @Result(name = SUCCESS, type = JSON, params = { "ignoreHierarchy", "false", "includeProperties", 
         "sortForm\\..*,actionMessages\\[\\d+\\], fieldErrors\\[\\d+\\], actionErrors\\[\\d+\\]" }), 

하는 형태의 모든 값을 반환하지 않습니다 난에서 전화하고

The form is : 

<s:form data-role="content" class="center-btn" id="sortForm" 
      theme="simple"> 
<s:textfield name="item" id="item"/> 
<s:textfield name="acc" id="acc"/> 
</s:form> 

Have a action: 

@Action(value = "getLPNDetails", results = { 
      @Result(name = SUCCESS, type = JSON, params = { "ignoreHierarchy", "false", "includeProperties", 
        "sortForm\\..*,actionMessages\\[\\d+\\], fieldErrors\\[\\d+\\], actionErrors\\[\\d+\\]" }), 
      @Result(name = INPUT, location = "sortMUIDMobile.jsp", params = { "ignoreHierarchy", "false", 
        "includeProperties", 
        "url\\..*, actionMessages\\[\\d+\\], fieldErrors\\[\\d+\\], actionErrors\\[\\d+\\]" }), 
      @Result(name = ERROR, location = "sortMUIDMobile.jsp", params = { "ignoreHierarchy", "false", 
        "includeProperties", 
        "sortForm\\..*, actionMessages\\[\\d+\\], fieldErrors\\[\\d+\\], actionErrors\\[\\d+\\]" }) }) 
    public String getLPNDetails() { 
} 

. 그렇게 할 수있는 방법이 있습니까?

+0

답변 받기 –

답변

0

json 유형 결과를 반환하는 주석을 통한이 구성에는 "includeProperties", "sortForm\..* 매개 변수가 있어야합니다. 그 밖의 모든 것이 필요하지 않으므로 질문에서 제거 될 수 있습니다.

이제 sortForm 개체를 작업에서 반환하고 싶습니다. 조치 bean이 valuestack의 top에 있는지 확인하고 sortForm에 대한 getter 및 setter와 해당 특성에 대한 getter 및 setter가 들어 있는지 확인하십시오.

양식은 해당 속성을 sortForm 개체에 바인딩해야합니다.

<s:form data-role="content" class="center-btn" id="sortForm" 
      theme="simple"> 
<s:textfield name="sortForm.item" id="item"/> 
<s:textfield name="sortForm.acc" id="acc"/> 
</s:form> 

클래스 경로와 부모 패키지에 있는지 확인은 json-default의 후손이다. 상위 패키지는 @ParentPackage 주석으로 설정하거나 기본 상위 패키지 xml 상수를 사용할 수 있습니다. 액션 빈의 속성에서 직렬화 된 JSON 객체를 반환하려면 결과가 json이어야합니다.


이 정규식 표현을 일치 sortform 개체의 모든 재산

@Result(type="json", params = {"includeProperties", "^sortForm\\..*"}) 

,하지만 당신은 단지 두 가지 속성이 필요합니다.

@Result(type="json", params = {"includeProperties", "^sortForm\\.item, ^sortForm\\.acc"})