gpt4 book ai didi

java - 如何在struts2中以最少的代码更改更改post请求以获取重定向?

转载 作者:太空宇宙 更新时间:2023-11-04 06:46:46 25 4
gpt4 key购买 nike

我的struts版本是2.3.15.3

在我当前的struts2项目中,所有post请求都不会重定向到get请求

因此,如果我使用 https 和 chrome,当我单击后退按钮时,我会收到重新提交警报

如何以最小的努力将它们更改为继续使用post请求,但使用get重定向来显示JSP?我可以只修改 struts.xml 吗?

或者,是否可以在没有 PRG 的情况下阻止警报?

这是我当前的代码

<小时/>

struts.xml:

<action name="Get" class="test.PostAction">
<result name="gotoform">/WEB-INF/jsp/PostForm.jsp</result>
<result name="success">/WEB-INF/jsp/showGet.jsp</result>
</action>

PostAction.java:

public class PostAction  extends ActionSupport{
@Override
public String execute() throws Exception {

Map para = ActionContext.getContext().getParameters();
if(para.get("post")==null)
{
return "gotoform";
}
else
{
return "success";
}
}
}

PostForm.jsp:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form action="Get.action" method="POST">
<input type="text" name="post" value="yes">
<input type="submit">
</form>
</body>
</html>

showGet.jsp:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>Display here</h1>
</body>
</html>
<小时/>

showGet.jsp:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Display here, Post value=</h1> <%= request.getParameter("post") %>

</body>
</html>
<小时/>

PostAction.java:

package test;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import java.util.Map;


public class PostAction extends ActionSupport{

private String post;

@Override
public String execute() throws Exception {

Map para = ActionContext.getContext().getParameters();

System.out.print("post = "+post);
if(para.get("post")==null)
{
return "gotoform";
}
else
{
return "success";
}
}

public String getPost() {
return post;
}

public void setPost(String post) {
this.post = post;
}
}

新2 showGet.jsp:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Display here</h1>,
<s:property value="post"/>,
${post},
<%= post %>,
<%= getPost() %>
</body>
</html>

最佳答案

公开 redirectAction 结果所需的额外操作。

<action name="showGet">
<result>/WEB-INF/jsp/showGet.jsp</result>
</action>

<action name="Get" class="test.PostAction">
<result name="gotoform">/WEB-INF/jsp/PostForm.jsp</result>
<result name="success" type="redirectAction">showGet</result>
</action>

关于java - 如何在struts2中以最少的代码更改更改post请求以获取重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23862760/

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