最近尝试做出一个部门和人员的下拉框联动功能,部门和人员的对应关系是1:N
[html]
'>
'>
부서 드롭다운 상자의 onchange() 이벤트는 AJAX 메서드를 사용하고 JSON 개체를 반환합니다(JSON은 LIST입니다).
이 페이지에 js 메소드가 작성된 방식:
[javascript]
여기에 반환된 데이터 여기에는 목록(아래 목록 참조)이 포함되어 있으며 목록에는 사람의 코드와 사람의 이름이라는 두 가지 속성이 포함되어 있습니다. 그런 다음 먼저 직원 드롭다운 상자를 비우고() 선택 컨트롤 추가 방법을 통해 새 드롭다운 상자 요소를 추가합니다.
백엔드 코드:
[java]
public String DepartmentChangeEvent()에서 예외 발생{
userList=service.queryForList("Workorder.queryUserByDepartmentCode", DepartmentCode)
if(userList!=null&&userList.size()>0)
{
HttpServletResponse 응답 = ServletActionContext.getResponse(); > Response.setContentType ("Text/HTML; Charset = UTF-8")
Response.Setheader ("Pragma", "No-Cache") " 캐시 제어" );
response.setHeader("Cache-Control", "no-store")
PrintWriter 작가 = response.getWriter()
JSONObject json = new JSONObject();
맵 맵 = new HashMap();
map.put("list",userList)
JSONObject jso = JSONObject.fromObject(map) ;
writer.write(jso.toString())
writer.flush()
writer.close( );
return null 사용자는 userList에 배치됩니다. www.2cto.com
그런 다음 표준 작성을 통해 정의된 HashMap에 userList를 넣으면 KEY는 목록입니다.
[java]
JSONObject jso = JSONObject.fromObject(map);
이것은 가장 중요한 단계입니다. 객체 생성 방법은 JSONObject jso = new JSONObject(); 그런 다음 목록의 레코드를 jso에 넣을 수도 있습니다. . .
여기에서는 작동하지 않습니다. 프런트엔드는 반환된 값이 문자열이라고 생각합니다. . .
Struts의 반환 유형은 json
[html]