用保存的Cookie填写表单
我有一个动作类可以像这样保存我的cookie:
public String execute() { // Save to cookie Cookie name = new Cookie("name", userInfo.getName() ); name.setMaxAge(60*60*24*365); // Make the cookie last a year! servletResponse.addCookie(name); }
如果我提交表单,我可以在浏览器上看到已创建并保存的cookie。 当用户提交时,他们会被重定向到新页面,该页面包含他们刚刚创建的所有存储信息。
我希望用户能够返回提交页面并查看他们刚刚提交的表单中的所有信息。 是否可以使用Struts2,使用保存的Cookie并获取表单来填写旧数据?
这是我的表格:
要发送cookie,您可以使用cookie-provider拦截器。 它允许您通过实现CookieProvider
在操作中填充Cookie。 要将此拦截器应用于操作配置,您可以覆盖拦截器配置
...
CookieProvider
有一个实现的方法,
public class MyAction extends ActionSupport implements CookieProvider { @Override public Set getCookies(){ Set cookies = new HashSet<>(); Cookie name = new Cookie("name", userInfo.getName() ); name.setMaxAge(60*60*24*365); // Make the cookie last a year! name.setPath("/"); //Make it at root. cookies.add(name); return cookies; } }
在表格中
${cookie["name"].value}