struts2表单重复提交拦截器token的使用问题解决

在学习struts2拦截器token的时候,一直无法显示token的jsp页面。代码如下:
struts2.xml文件:

<package name="default" namespace="/" extends="struts-default">

	<action name="login" class="com.hf.action.UserAction" method="login">
		<!-- 表单重复提交时,会返回invalid.token结果集 -->
		<result name="invalid.token">/invalid.jsp</result>
		<result name="success">/success.jsp</result>
		<interceptor-ref name="token"/>
		<interceptor-ref name="defaultStack"/>
	</action>
</package>

login.jsp:

<form action="login.action" method="post">
	<!-- 拦截器之表单重复提交 -->
	<s:token></s:token>
	username:<input type="text" name="user.username"/><br>
	password:<input type="password" name="user.password"/><br>
	<input type="submit" value="login">
</form>

LoginAction.java

public class UserAction{
	private User user;
	public String toLogin() {
		return Action.SUCCESS;
	}
	public String login() {
		System.out.println("user to database");
		System.out.println(user);
		return Action.SUCCESS;
	}
	public User getUser() {
		return user;
	}
	public void setUser(User user) {
		this.user = user;
	}
}

但是运行是第一次能运行成功,当表单重复提交后,出现报错:java.lang.NullPointerException
The server encountered an internal error that prevented it from fulfilling this request.
在这里插入图片描述
在网上第一时间也没有找到合适的解决方法,刚刚才找到答案:Action类必须继承ActionSupport类,token拦截器才会转向错误信息提示界面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值