比如访问index.jsp,
index.jsp的内容是要实现类似转发的功能,去调用aaa Action处理。如果用struts1,我会在index.jsp这样写<jsp:forward page="/aaa.do"/>但是struts2大家用什么办法啊?网上查了几个小时,累了,这步进行不下去,我就要对struts2失去信心了。
strut2应该很强大的阿。
index.jsp的内容是要实现类似转发的功能,去调用aaa Action处理。如果用struts1,我会在index.jsp这样写<jsp:forward page="/aaa.do"/>但是struts2大家用什么办法啊?网上查了几个小时,累了,这步进行不下去,我就要对struts2失去信心了。
strut2应该很强大的阿。
解决方案 »
- 急 急 急 java 很蹊跷的乱码问题
- struts2文件下载参数问题,急,成功立结
- HttpRequest与HttpservletRequest有什么区别
- 怎样在javascript中调用hibernate?脑袋都快炸了,救命啊!~~~
- struts标签问题,在线,急
- 0.5*Math.log((1+Math.sin(x))/(1-Math.sin(x)))=y 现在知道了y=100 如何求x的值?
- jdk1.5+CORBA的问题,急!!!!
- 各位哥哥,你们好吗?我有个IMPORTANT的问题啊!~~~~急死我了??
- 关于J2EE中创建Entity Bean的问题
- 求助:JAVA获取WINDOW下磁盘IO信息
- javaScript字体大小特效如何制作?
- Hibernate 新手问题请教
<%@ page language="java" pageEncoding="UTF-8"%>
<html>
<head>
<title></title>
<meta http-equiv="refresh" content="0;URL=index.action"/>
</head>
<body>
</body>
</html>
跟用struts没关系。应该可以继续使用。
首先zidasine先生的方法,你给的代码应该是index.jsp的内容,
<meta http-equiv="refresh" content="0;URL=index.action"/>
这句话,我想你应该是想打
<meta http-equiv="refresh" content="0;URL=aaa.action"/> 的。于是IE输入/index.jsp,那么就成功进入了aaa的action处理程序。
运用了0秒redirect很不错。但是由于是redirect,所以我如果在IE
输入/index.jsp?name=john,那么name的参数必定传不到aaa的
action里面了,需要一些其他处理了,最好访问/index.jsp的时候,
直接能dispatch到aaa的action就好了。再是回答一下jinxfei先生的问题。
<jsp:forward page="/aaa.do"/>当然可以用,而且会把request
转发)(dispatch)到aaa.do的地方去,
但是这样做并不会触发struts2的aaa.do对应的action。
所以结果是页面显示找不到aaa.do这个东西。至于为什么struts2不捕获这个.do呢,原因是struts2的触发机制是
过滤器(filter)捕获的。而filter默认只在redirect的时候触发,
在dispatch的时候是不会触发filter的,因此struts2也就“罢工”了。
可以把过滤器设置为dispatch的时候也触发,但是struts2不会连这种
傻问题都没有考虑到的。struts2肯定提供了其他解决方法。各位大牛,有没有更好的解决啊。这个问题并不是很难啊。
<action name="testAction" class="test.Action">
<result name="anotherLocation" type="redirect">/another.jsp</result>
</action>
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:action namespace="/" name="aaa" executeResult="true">
<s:param name="名称">1111</s:param>
.......
</s:action>之前要把aaa定义在namespace的包里
6楼可行。恕我再多嘴一下,6楼的方法虽然可行,
但是更类似于插入一个页面。它会跳回来。
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:action namespace="/" name="aaa" executeResult="true">
<s:param name="名称">1111 </s:param>
.......
</s:action>
<其他页面元素>
所以下面若还有其他HTML代码,则action后继续执行。所以还不是完全我要求的转发出去不再回来,
可能struts2认为单纯的转发出去是很白痴
的一件事情,或者还有其他方法我还不知道。总之谢谢6楼了,基本可以满足需要。
也谢谢jinxfei,大家讨论才有长进。还有我为什么不喜欢用JS来做流程控制方面的事,因为JS有大漏勺,
那就是和浏览器的关系太大,我宁愿JS还是在HTML界面方面多派用场,界面方面
JS罢工也倒算了,如果流程控制方面JS罢工,那责任就大了。再回到我的提问问题,并不关客户端什么事情,只不过是访问index.jsp以后的程序流程,
如果服务器返回一个html页面给客户,客户端再用JS控制一下,再提交给服务器,
这种事情还是避免为好。
好了,差不多这个问题结贴了。分给6楼吧。
有机会jinxfei咱们交个朋友,可以交流交流。