이것저것 해보다가 결국 해결하긴 했지만..
한글이 걸리는구나..;;
테스트환경 : struts2-2.1.6, tomcat5.5
파일인코딩 및 struts2인코딩 : EUC-KR(UTF-8로도 해보았지만 결과는 같았음..)
1. testRegister2.jsp(첫실행파일)
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
<sx:head />
</head>
<body>
<s:url id="url" value="testRegister.action" />
<s:form id="form1" method="post">
id : <s:textfield name="testDto.id"/><br>
name : <s:textfield name="testDto.name"/><br>
age : <s:textfield name="testDto.age"/><br>
sex : <s:textfield name="testDto.sex"/><br>
<s:checkbox name="testDto.ck" fieldValue="사과" value="1"/>사과
<s:checkbox name="testDto.ck" fieldValue="배"/>배
<s:checkbox name="testDto.ck" fieldValue="딸기"/>딸기
<s:checkbox name="testDto.ck" fieldValue="바나나"/>바나나
<br><s:submit value="Make Request" id="submit"/>
<sx:bind targets="output2" formId="form1" sources="submit" events="onclick" href="%{#url}" />
</s:form>
<br>
<br>
<div id="output2">
</div>
</body>
</html>
2. testRegister3.jsp(결과가 담긴 페이지)
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
id : <s:property value="testDto.id"/><br>
name : <s:property value="testDto.name"/><br>
age : <s:property value="testDto.age"/><br>
sex : <s:property value="testDto.sex"/><br>
ck : <s:property value="testDto.ck"/>
3. TestRegister.java(action 클래스)
package test;
public class TestRegister {
private TestDTO testDto;
public String execute() throws Exception{
for(int i = 0; i < testDto.getCk().length; i++){
System.out.println(i + " : " + testDto.getCk()[i]);
}
return "success";
}
public TestDTO getTestDto() {
return testDto;
}
public void setTestDto(TestDTO testDto) {
this.testDto = testDto;
}
}
4. TestDTO.java(model)
package test;
public class TestDTO {
private String id;
private String name;
private int age;
private String sex;
private String[] ck;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String[] getCk() {
return ck;
}
public void setCk(String[] ck) {
this.ck = ck;
}
}
6. struts.xml
<action name="testRegister" class="test.TestRegister">
<interceptor-ref name="basicStack"/>
<result>/testRegister3.jsp</result>
</action>
testRegister2.jsp를 실행하고 값을 입력하고 submit를 누르면...
이렇게 나온다....한글이 깨지긴 하지만 비동기식 submit에 대한 테스트는 대성공이었다..
한글은 파이어폭스로 쭉 살펴봤는데 값이 넘어갈때부터 저게 그대로 찍힌다.
이유는 잘 모르겠다..
참고자료 : http://struts.apache.org/2.1.6/docs/ajax-and-javascript-recipes.html#AjaxandJavaScriptRecipes-Common
----------------------------------------------------------------------------------------------------
한글문제를 해결했음....
UTF-8이 정답이었고...톰캣과 스트럿츠2의 인코딩 및 파일을 저장할때의 인코딩형식을 모두 맞춘 후에야 제대로 동작했다..
드디어 테스트 종료~
'프레임워크 > Struts2' 카테고리의 다른 글
struts2에서 jQuery로 파라메터(폼값) 넘길때 주의점 (0) | 2009.12.17 |
---|---|
struts2에서 json데이터 파싱 (0) | 2009.12.03 |
struts.xml에서의 redirect-action, redirectAction (1) | 2009.11.26 |
struts2 폼데이타 간단처리(전송) (0) | 2009.11.23 |
[실전]struts2 페이징리스트 처리하기 (0) | 2009.11.13 |