본문 바로가기

개발관련/웹개발

웹워크(스트러츠2) 토큰 token 사용법

찾아봐도 정리되어 있는곳이 없어서 스스로 정리..ㅡㅡ;

사용법

1. jsp페이지의 form영역에

<ww:token />을 추가

<form>
....
<ww:token />
</form>


2. form이 submit되는 액션에 인터셉터 추가

invalid.token은 토큰이 없거나 다른 값이 들어왔을 경우에 실행된다.

xwork.xml

....
<action name="submitTarget.action">
  <interceptor-ref name="token" />
  <result name="invalid.token" >pages/error.jsp</result>
  <result name="success">pages/success.jsp</result>
</action>
....


액션단에서 토큰값을 확인하고 싶은 경우
아래코드를 추가한다.

import com.opensymphony.webwork.util.TokenHelper;
...
System.out.println(TokenHelper.getToken());


추가

웹워크의 경우 파라메터 설정시에 webwork.token.name 과 webwork.token 값을 설정할 수 없다는
에러가 뜬다. 이 경우 아래첨부한 Interceptor를 설정해주자.

<interceptors>
  <interceptor class="interceptor.TokenParameterInterceptor" name="tokenParameterInterceptor"/>
</interceptors>


2번의 액션 설정도 약간 수정이 필요하다.

....
<action name="submitTarget.action">
<interceptor-ref name="tokenParameterInterceptor" />
<interceptor-ref name="token" />
<result name="invalid.token" >pages/error.jsp</result>
<result name="success">pages/success.jsp</result>
</action>
....



알기쉽게 파워포인트로도 추가


별거 아닌듯 하면서 은근 어렵네..ㅡㅡ;

스트러츠2에서 설정 파라메터 무시하는거 링크 추가
http://www.ericmmartin.com/struts-2-parametersinterceptor/