gpt4 book ai didi

java - 使用保存的 cookie 填写表格

转载 作者:行者123 更新时间:2023-12-01 11:58:17 25 4
gpt4 key购买 nike

我有一个 Action 类来保存我的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 并让表单填写旧数据?

这是我的表格:

<s:textfield
label="Name"
name="name"
key="name"
tooltip="Enter your Name here"/>

最佳答案

要发送 cookie,您可以使用 cookie-provider拦截器。它允许您通过实现 CookieProvider 在操作中填充 cookie。要将此拦截器应用于操作配置,您可以覆盖拦截器配置

<action ... >
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="cookieProvider"/>
...
</action>

CookieProvider 有一个要实现的方法,

public class MyAction extends ActionSupport implements CookieProvider {

@Override
public Set<Cookie> getCookies(){
Set<Cookie> 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;
}

}

以表格形式

<s:set var="name">${cookie["name"].value}</s:set>
<s:textfield
label="Name"
name="name"
value="%{#name}"
tooltip="Enter your Name here"/>

关于java - 使用保存的 cookie 填写表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28190582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com