Struts2 JSON 플러그인에는 고유한 작동 방식이 있습니다. JSON으로의 작업 직렬화를 처리하지만 특정 요소에 대해서만 처리합니다:
원하는 경우 특정 객체만 직렬화하는 경우 플러그인은 "root" 속성이라는 솔루션을 제공합니다. 이 속성을 사용하면 OGNL 표현식을 사용하여 직렬화할 루트 개체를 지정할 수 있습니다.
<result type="json"> <param name="root"> objectToBeSerialized </param> </result>
Action 클래스에는 다음이 포함되어야 합니다.
private CustomObject objectToBeSerialized; public CustomObject getObjectToBeSerialized() { return this.objectToBeSerialized; }
CustomObject는 다양한 데이터 유형을 나타낼 수 있습니다.
이 방법을 활용하면 평소처럼 SUCCESS와 ERROR를 반환할 수 있습니다. 프레임워크 규칙을 손상시키지 않고 AJAX Struts2 작업을 수행합니다. 또한 AJAX jQuery 호출의 콜백 함수에서 직접 직렬화된 JSON 객체에 액세스할 수 있습니다.
데이터 구조가 다음 패턴을 따른다고 가정합니다.
row1 [col1, col2], row2 [col1, col2], rowN [col1, col2]
다음을 사용할 수 있습니다. 접근 방식:
public class MyRow implements Serializable { private String col1; private String col2; // Getters }
public class PartAction implements Serializable { private List<MyRow> rows; // Getter public List<MyRow> getRows() { return this.rows; } public String finder() { rows = new ArrayList<MyRow>(); // Populate the list with data } }
<result type="json" > <param name="root"> rows </param> </result>
var handledata = function(data) { $.each(data, function(index) { alert(data[index].col1); alert(data[index].col2); }); }
이 접근 방식을 사용하면 원하는 데이터 구조를 직렬화하여 AJAX 콜백 함수 내에서 액세스할 수 있습니다.
위 내용은 Struts2 JSON 플러그인은 AJAX 호출에 대한 데이터 구조를 어떻게 직렬화합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!