问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

动态ActionForm,token怎么用啊

发布网友 发布时间:2022-04-22 06:42

我来回答

1个回答

热心网友 时间:2022-06-16 17:28

Struts使用Token机制,来防止恶意的破坏和重复提交问题,也就是点击后退后在再提交,这是Struts无法发现的,在form中生成一个token码,
在session中也保存有一个同样的token码,当表单提交后,判断两个token码向等后,就会改变session中的这个token码,当然在用回退后,
form的token码是不会变的,在提交,还会判断两个token码是否相等,如果不等就会抛出异常,证明这是过时的垃圾数据。
但是必须要使用struts标签,struts会自动生成一个隐藏域,来保存token码
而且必须要定义一个ActionForm的子类
void saveToken(HttpServletRequest request)方法用于将在客户端生成的token码,保存在session中。
void resetToken(HttpServletRequest request)方法用于重置token码,生成新的token码。
boolean isTokenValid(HttpServletRequest request,boolean reset)判断token码是否相等,并且是否重置token码。reset是设定是否重置token码,一般设为true。

设置token码
public ActionForward toadd(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)throws Exception
{
saveToken(request);
return mapping.findForward("next");
}

验证token码
public ActionForward add(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)throws Exception
{
if(isTokenValid(request, true)){
request.setAttribute("message", "contratulation!");
} else {
request.setAttribute("message", "sorry");
}
return mapping.findForward("next");
}
Struts动态Form

DynaActionForm,动态的ActionForm,动态的form不需要去写特定的ActionForm类,只需要在配置文件中配置好form中的属性名和属性类型。Struts会自动的封装成动态的Form。

<form-bean name="xxx" type="org.apache.struts.action.DynaActionForm">
<from-property name="xxx" type="xxx.xxx.xxx">
<from-property name="xxx" type="xxx.xxx.xxx">
...
...
</form-bean>
用法和普通的ActionForm 一样
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
情侣文案英文高级浪漫87句 Love to the people don't wave.什么意思 gladtomeetyou怎么 gladtomeetyou.怎么回答 2016生肖猴运程 武汉买房88平方满50万落户政策 非武汉市户口在武汉市购买70平方总价50万的商品房,可以转户口吗... 我想在武汉买一套50万左右的新房子,谁能告诉我现在武昌,关山,江夏,有... 支付宝怎么开通步数授权? 总价50万能在武汉买一套两室一天的二手房吗? java token有什么用 请教Java 登录token的用法 什么是Token值,使用token值原理是什么,求大神讲... Token的作用 单词token是什么意思? php中的token怎么用 电脑cpu硅胶有什么用 cpu上面硅胶的作用!? token是干嘛用的? 涂在CPU上面白色的胶叫什么? CPU温度过高,上硅胶怎么上? cpu上硅胶是干什么的?能降温吗? 如何正确的给CPU涂硅胶 有人知道这个三字经诵读视频中的背景音乐叫什么吗... cpu上硅胶需要干? 三字经朗读 怎样给CPU上硅胶才是正确的?上之前原来的要不要先... 三字经 带解释的视频 品读《三字经》时有哪些是需要注意的? cpu上面硅胶怎么清洗 Token什么作用? 测试获得的access_token怎么使用啊 java里边防止重复提交的token机制不太会搞,使用to... 为什么 APP 要用 token 而不用 session 认证 用高压锅煮饭夹生了是不是水放少了 怎么查看自己的汽车是国几的 买车时,如何看是国五国六? 行驶证怎么看国几排放 柴油车怎么知道是国几排放? 在手机上下载什么软件可以查到汽车国几排放 国几排放标准怎么看字母? 我用的苹果6别人怎么能定位到我 苹果6共享我的位置怎么关不掉? 苹果6隐私里面的共享我的位置怎么是灰色? 苹果6plus怎样来定位另一部手机? 我的苹果6位置共享怎么也打不开 苹果6手机怎么定位 苹果6开机就能被定位吗? 蝉是一首托物寓意的小诗,诗人以什么喻君子表达了... 虞世南的蝉哪两句诗表达了作者对生活的向往之情?