Struts:如何让jsp页面一启动就执行某个action?

RT

你可以在这个jsp开始的部分写上



<jsp:include path="xxx.do"/>

然后把这个xxx.do配置为你期望的Action就可以了。

不过这样很别扭,不是么?直接include另一个jsp更省事。

楼上的,不行啊。
出异常:
HTTP Status 500 -
type Exception report

org.apache.jasper.JasperException: /CategoryList.jsp(5,0) Include action: Mandatory attribute page missing
.....
....

也可以用struts的logic:forward标签。

其实你的思维还没有转到MVC模式上,Jsp是一个View,被动 静态的界面,没有主动行为的,主动行为的控制都是在Action中。

实现你的目的,就是先调用一个Action (在这个action中启动另外一个action的功能)-->通过action推出Jsp。

因为在MVC中,任何Jsp启动都是因为action首先执行的结果。

^_^

"其实你的思维还没有转到MVC模式上,Jsp是一个View,被动 静态的界面,没有主动行为的,主动行为的控制都是在Action中"

Banq, 不好意思~~ 我觉得你这句话欠妥,为什么一个视图开始显示的时候就不能有一个事件呢? MVC 中好像是可以在一个视图显示的时候触发一个事件,让事件去完成某个 Action 的吧?

我认为,Struts 没做好,所以才需要先做一个Action 再显示一个 View.

类似这个问题,我遇到一个情况:

action1{
查询数据,将数据放入form2中,跳到jsp2。
其中form中的数据有个ArrayList objects
}

在jsp2页面中{

<logic:iterate>
显示objects
</logic:iterate>
}
在form2提交到action2时,form2中的objects是null了,这个问题怎么
解决?或者有其他方法来实现比较好?如果把这个action放在session中
是可以的,但我想用request,不知道是否可以?

1. 把该对象放到session 中。
2. 在JSP1 中隐式提交该对象到form2 中。

我不是说了,不想用session,想用request

现在web.xml中定义一个跳转中间文件:
<welcome-file-list>
<welcome-file>/jsp/indexTransfer.jsp</welcome-file>
</welcome-file-list>
跳转中间文件只有一句话:
<%@ taglib uri="struts/logic-el" prefix="logic" %>
<html:html>
<head>
<title>aa</title>
</head>

<body bgcolor="#FFFFFF" text="#000000">

<logic:forward name="welcome1" />
</body>
</html:html>

在Struts-config.xml文件中定义global-forward,如下:
<global-forwards>
<forward name="welcome1" path="/do/welcome"/>
</global-forwards>
在Struts-config.xml文件中定义一个action-mappings,如下:
<action path="/welcome" type="net.supcon.action.WelcomeAction">
<forward name="to1stpage" path="/jsp/1stpage.jsp"/>
</action>
用上述方法是首页就可以调用某个action,其他jsp页面方法相同。
如果其他人有更好的方法,请告知。

刚才发的不好,重发。
先在web.xml中定义一个跳转中间文件:


<welcome-file-list>
<welcome-file>/jsp/indexTransfer.jsp</welcome-file>
</welcome-file-list>

跳转中间文件只有一句话:


<%@ taglib uri="struts/logic-el" prefix="logic" %>
<html:html>
<head>
<title>aa</title>
</head>

<body bgcolor="#FFFFFF" text="#000000">

<logic:forward name="welcome1" />
</body>
</html:html>

在Struts-config.xml文件中定义global-forward,如下:


<global-forwards>
<forward name="welcome1" path="/do/welcome"/>
</global-forwards>


在Struts-config.xml文件中定义一个action-mappings,如下:



<action path="/welcome" type="net.supcon.action.WelcomeAction">
<forward name="to1stpage" path="/jsp/1stpage.jsp"/>
</action>

用上述方法使首页就可以调用某个action,其他jsp页面调用action方法相同。
如果其他人有更好的方法,请告知。

god,so easy的事做的这么复杂~~~

<script language="javascript">
window.location.href="Home.do";
</script>


or


用楼上的gobal-forward跳转~~~~