strut2怎么自动触发action?

WZHS1983 2009-03-27 11:37:26
我要做一个页面,页面一进去的时候就要访问数据库,然后从数据库中取值出来拿到页面来显示。但是stuts2都是在form提交的时候才运行action,不能实现页面一进去的时候就允许action,然后通过action来访问数据库实现数据的获得。请问struts2怎么实现页面一进去的时候就运行action呢?.Net有函数FormCreate(),这个函数是页面一进去就运行,可以在里面执行数据库的操作,很方便。请问struts2怎么才能一进页面就执行action,不需要form来提交或者点击按钮来提交!谢谢大家!
...全文
496 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
WZHS1983 2009-04-29
  • 打赏
  • 举报
回复
还是没有什么好方法解决这问题
难道大家没有遇到这样的情况啊
吃土的狒狒 2009-04-12
  • 打赏
  • 举报
回复
在struts2中的action中如何接收页面上链接传的值呢?
pang040328 2009-03-28
  • 打赏
  • 举报
回复
在web.xml中设置这样的拦截
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


这是struts.xml中的一个action处理
  <package name="cityInfo" extends="struts-default">
<!-- 访问首页 -->
<action name="goindex" class="com.yxq.action.IndexAction">
<result>/view/IndexTemp.jsp</result>
</action>


这样在打开网页的时候,不就调用了IndexAction这个类了嘛
xbgordon 2009-03-28
  • 打赏
  • 举报
回复
做项目是,碰到过你的问题,说思路:6楼的方法应该可行的.我们是在js内处理,当你一进入首页,就掉js,然后就是掉action方法,吧取得数据放到from内,form存session内,这样应该就可以了吧.
至于你说的循环,你设置个变量,初始值是"1",第一次触发action,然后action中吧这个变量赋值为"0",当action重指向该页面时,就不会调action了.
wind1373290 2009-03-28
  • 打赏
  • 举报
回复
Ajax异步?

<body onload="load(XXX.do?...);">


function load(url) {
new Ajax.Request(url,{
method:
onSuccess:function(){

}
});
}
WZHS1983 2009-03-28
  • 打赏
  • 举报
回复
我觉得自己这个实现方法是有的问题,因为一进去就运行这个action取得数据然后显示在当前页面上面,最后action还是重定向回本页面,这样会出现死循环。我不知道有什么好一点的方法实现,请问大家知道怎么实现吗?因为首页的最新消息这个栏目是很多首页都有的,不明白他们怎么可以在一进去就可以实现从数据库拿数据然后显示出来,而且他们是没有在做任何提交动作的情况下面就可以实现的。请大家指教!
万分感谢!
sainer 2009-03-27
  • 打赏
  • 举报
回复
web.xml里 不是能设置默认的首页的吗
WZHS1983 2009-03-27
  • 打赏
  • 举报
回复
3楼的大哥
比如首页 的话你可能在浏览器输入http://www.xxx.com/welcome.action的吧
一般都是访问页面不是直接访问action的
有没有什么好方法啊
heting1024 2009-03-27
  • 打赏
  • 举报
回复
你直接进action再跳转页面不就好了
WZHS1983 2009-03-27
  • 打赏
  • 举报
回复
比如某个首页,首页有最新消息这个栏目,这个栏目的内容是从数据库中取出数据的,我们访问首页的时候不可能要运行form然后才能显示出最新消息的吧!而是一进去就访问数据库不需要其他外加的任何动作。这个就需要到action在页面一进去的时候就运行,然后访问数据库,不需要外加的任何的动作。请问怎么实现!
WZHS1983 2009-03-27
  • 打赏
  • 举报
回复
请给出一个例子!谢谢!
萧学森 2009-03-27
  • 打赏
  • 举报
回复
在页面里直接写入<jsp:forward page="***.do?method=do***" />,让他直接进action,然后再在Action里命名do的方法,直接return mapping.forward("页面");这里面写入从数据库查出的数据,就可以在页面直接显示了!!!

58,452

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧