请问访问根目录下index.jsp就执行一个action拿到数据库显示在首页

romanitc 2011-06-02 09:36:16
请问访问根目录下index.jsp就执行一个action拿到数据库显示在首页,不点击任何按钮等,就是访问http://localhost:80808/test/index.jsp这个页面就会显示我在action里已经取到的值(已放进值栈),应该是用哪种方式去执行这个action??我用的是ssh2!谢谢
...全文
470 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
godress2012 2014-01-24
  • 打赏
  • 举报
回复
可以请教下楼主是怎么用虚拟路径实现的吗?
romanitc 2011-06-03
  • 打赏
  • 举报
回复
我在页面这样写:


<script type="text/javascript">

function showInfo(){
window.location = "index_showAllInfo.action";
}

</script>


成了死循环!????

[Quote=引用 7 楼 liuyuhua0066 的回复:]
这种可以用着执行js方法,当然能执行js执行action应该不会有大问题。

引用 5 楼 romantic_pk 的回复:
谢谢,明天试试,请问是不是一般都用这种思路去自动执行一个action?

引用 3 楼 liuyuhua0066 的回复:
<body onload="Method();">
<script>
function Method(){
//执行action
……
[/Quote]
focusSoftware 2011-06-03
  • 打赏
  • 举报
回复
web.xml设置欢迎页面为
test.jsp(默认的为index.jsp)

test.jsp页面head部分添加如下代码

<%
response.sendredirect("test.action");
%>
TheoneFx 2011-06-03
  • 打赏
  • 举报
回复
搞一个servlet映射的名字叫做index.jsp应该也可以的吧
zjt321 2011-06-03
  • 打赏
  • 举报
回复
onload 调 ajax
romanitc 2011-06-03
  • 打赏
  • 举报
回复
能举个例子吗?我还是不太懂,谢谢![Quote=引用 16 楼 zhou961270 的回复:]
写一个Filter,加在该Action的前面就可以了,也可以写的一拦截器,都可以
[/Quote]
zhou961270 2011-06-03
  • 打赏
  • 举报
回复
写一个Filter,加在该Action的前面就可以了,也可以写的一拦截器,都可以
丶蒙圈丶 2011-06-03
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 yodlove 的回复:]

jsp:forward 就行了
[/Quote]


在你的index页面直接forward到要访问的Action即可...forward路径就是你的action访问路径...
UPC_思念 2011-06-03
  • 打赏
  • 举报
回复
ajax也可以搞之
xinghen88 2011-06-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 liuyuhua0066 的回复:]
<body onload="Method();">
<script>
function Method(){
//执行action
}
</script>

你可以试试这个思路。
[/Quote]
+++++;最好的方法就是调用页面的onload事件执行要走的方法
romanitc 2011-06-03
  • 打赏
  • 举报
回复
结贴了!我用了虚拟路径来实现了!谢谢大家的宝贵意见了!
一板砖夯死你 2011-06-03
  • 打赏
  • 举报
回复
这个值得讨论这么久么,非要访问index.jsp么?登录成功后访问index.do,取完数据跳转到index.jsp不就得了啊,还整一堆js……
剑下一点红 2011-06-03
  • 打赏
  • 举报
回复
还没结贴啊。我第二次点到这了。
思路。在页面进入的时候就判断request或session中有没有带你的参数。有就继续没有就跳转,具体通过jsp脚本,标签其他什么的都可以了。跳转到action中。在action中带上参数,跳回index.jsp!就不会出现死循环啊。什么其他方面的问题了。。用filter也可以实现。不过比较不直观。。代码就不给出了。
yj0626 2011-06-03
  • 打赏
  • 举报
回复
dwr
屌丝团 2011-06-03
  • 打赏
  • 举报
回复
html页面

<div class="news_colum">
<div class="tit1">Company News</div>
<ul id="gsxw"></ul>
<script type="text/javascript">
XMLHttp.getData('gsxw');
</script>
<div class="more"><a href="htm/news.html?1">更多>></a></div>
</div>




js文件

var XMLHttp = {_objPool:[], _getInstance:function () {
for (var i = 0; i < this._objPool.length; i++) {
if (this._objPool[i].readyState == 0 || this._objPool[i].readyState == 4) {
return this._objPool[i];
}
}
this._objPool[this._objPool.length] = this._createObj();
return this._objPool[this._objPool.length - 1];
}, _createObj:function () {
if (window.XMLHttpRequest) {
var objXMLHttp = new XMLHttpRequest();
} else {
var MSXML = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
for (var n = 0; n < MSXML.length; n++) {
try {
var objXMLHttp = new ActiveXObject(MSXML[n]);
break;
}
catch (e) {
}
}
}
if (objXMLHttp.readyState == null) {
objXMLHttp.readyState = 0;
objXMLHttp.addEventListener("load", function () {
objXMLHttp.readyState = 4;
if (typeof objXMLHttp.onreadystatechange == "function") {
objXMLHttp.onreadystatechange();
}
}, false);
}
return objXMLHttp;
}, getData:function (key) {
var divObject = document.getElementById(key);
var objXMLHttp = this._getInstance();
with (objXMLHttp) {
try {
open("POST", "/jsp/load_data.jsp?key=" + key + "&random=" + Math.random(), true);
setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
send(null);
onreadystatechange = function () {
if (objXMLHttp.readyState == 4 && (objXMLHttp.status == 200 || objXMLHttp.status == 304)) {
divObject.innerHTML = objXMLHttp.responseText;
}
};
}
catch (e) {
divObject.innerHTML = "Sorry,server is busy now,please access later!";
}
}
}};
suzhenyu4060 2011-06-03
  • 打赏
  • 举报
回复
<c:redirect url="user!showChance.action"/>
romanitc 2011-06-03
  • 打赏
  • 举报
回复
② 直接ajax获取action 中的内容 可以给我一个小例子吗?我还是不会!
[Quote=引用 22 楼 kaoh1631 的回复:]
引用楼主 romantic_pk 的回复:
请问访问根目录下index.jsp就执行一个action拿到数据库显示在首页,不点击任何按钮等,就是访问http://localhost:80808/test/index.jsp这个页面就会显示我在action里已经取到的值(已放进值栈),应该是用哪种方式去执行这个action??我用的是ssh2!谢谢



三个办法:

① index……
[/Quote]
Thinking_In_IT 2011-06-03
  • 打赏
  • 举报
回复
[Quote=引用楼主 romantic_pk 的回复:]
请问访问根目录下index.jsp就执行一个action拿到数据库显示在首页,不点击任何按钮等,就是访问http://localhost:80808/test/index.jsp这个页面就会显示我在action里已经取到的值(已放进值栈),应该是用哪种方式去执行这个action??我用的是ssh2!谢谢
[/Quote]、


三个办法:

① index.jsp 使用frame (index.jsp 可以分解成三个jsp: head.jsp main.jsp foot.jsp)

② 直接ajax获取action 中的内容

③index.jsp 中 写一个 <iframe src="action需要的jsp"></iframe>

你根据实际情况 看看使用什么方法合适
yodlove 2011-06-03
  • 打赏
  • 举报
回复
jsp:forward 就行了
romanitc 2011-06-02
  • 打赏
  • 举报
回复
一般页面不写<%%>这些java代码吧,请问有没有别的方法?[Quote=引用 10 楼 hnldzoubaoqi 的回复:]
进入jsp的时候就跳转便行了,然后用服务器跳转带数据跳回来便可..

<% request.getRequestdispater("xxx.action") %>
然后再xxx.action执行完了 就跳回该jsp就可以相应的在request或session域中带值了
[/Quote]
加载更多回复(10)

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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