java – 重定向在struts2中不起作用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 重定向在struts2中不起作用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2293字,纯文字阅读大概需要4分钟。
内容图文
![java – 重定向在struts2中不起作用](/upload/InfoBanner/zyjiaocheng/749/504e3737a42b46febb8b40c015e8a965.jpg)
这是我的index.jsp文件:
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>HOME</title>
</head>
<body>
<s:action name="getUrl"></s:action>
</body>
</html>
这是我的struts.xml:
<struts>
<action name="getUrl" class="UrlAction">
<result name="redirect" type="redirect">${url}</result>
</action>
</struts>
这是我的动作类:
public class UrlAction extends ActionSupport {
private String url;
public void setUrl(String url) {
this.url = url;
}
public String getUrl(){
return url;
}
public String execute() throws Exception {
System.out.println("Entering execute() of Action");
url = "https://www.google.com/";
return "redirect";
}
}
因此,当我运行index.jsp时,它应该将我重定向到https://www.google.com,但我没有得到它.正在打印“输入执行的执行()”.这意味着它将进入Action类.如果我做错了,请纠正我.
解决方法:
你应该改变
<result name="redirect" type="redirect">${url}</result>
至
<result name="redirect" type="redirect">
<param name="location">${url}</param>
</result>
和
<s:action name="getUrl"></s:action>
至
<s:action name="getUrl" executeResults="true"></s:action>
使其有效;
但是,即使这样做,您也不会重定向您的页面,因为这不是< s:action>标签,according to the documentation:
This tag enables developers to call actions directly from a JSP page by specifying the action name and an optional namespace. The body content of the tag is used to render the results from the Action. Any result processor defined for this action in struts.xml will be ignored, unless the executeResult parameter is specified.
您可以在此处找到一个使用示例:http://www.mkyong.com/struts2/struts-2-action-tag-example/
我想你可能会在你的标签内看到重定向的谷歌页面(修改后)
编辑
你应该准确地描述你想要达到的目标;你开始问一个关于< s:action>的问题.标签,但我很确定这不是你需要的(尽管我还没有完全理解你想要的东西,除了某个地方的“重定向”)
如果您想在打开页面时立即重定向,只需使用< s:url>标记以将url挂载到您的操作,并将其放入更改位置的javascript脚本中:
<script>
location.href = "<s:url action="getUrl.action" />";
</script>
(但这很奇怪,因为如果你需要在来自另一个动作时重定向,没有理由从JSP页面传递,只需使用redirectAction结果而不是重定向结果)
如果您想在按下按钮时重定向,请使用< s:submit>标签:
<s:submit action="getUrl.action" value="press here to redirect" />
首先确定并描述您的目标,然后获取有助于您做到这一点的技术的信息.
内容总结
以上是互联网集市为您收集整理的java – 重定向在struts2中不起作用全部内容,希望文章能够帮你解决java – 重定向在struts2中不起作用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。