日期:2014-05-20  浏览次数:20868 次

struts2+jsp问题
index.jsp由head.jsp、content.jsp、tail.jsp三部分组成
content.jsp里罗列从数据库里取出的帖子
  问题是当第一次访问首页,index.jsp 也就是content.jsp时, 该页面如何会自动访问Action 从而得到要显示的数据?
  平时都是 点击按钮 然后访问Action 来得到数据的  
  ??

------解决方案--------------------
首先你要明白访问Action的顺序,浏览器发出一个请求到相应的WEB 服务器,然后从web.xml中加载struts2的filter之后经过一系列的处理调用struts.xml找到你访问路径里边相对应的namespace然后找到相应的Action经过这个ACTION然后处理数据,接下来返回一个字符串,和struts.xml匹配相应的结果页面,你可以再加一个default.jsp里边只是加入一句话<jsp:forward page="这个写入你要请求的URL地址" />或者是加一个default.html里边加一句js,页面加载的时候去加载window.location.href="首页请求地址",这样应该OK了,
------解决方案--------------------
探讨
引用:
你先访问action,然后配置文件写路径的时候配index.jsp

他的意思应该是浏览器地址栏直接访问index.jsp就会显示,确实该先访问ACTION,但是这个ACTION应该写在什么位置呢

------解决方案--------------------
index.jsp 中<jsp:include flush="true" page="/cardactivationAction.do method=query"></jsp:include>
此action 在struts 中的返回路径是content.jsp 肯定能够实现!楼主可以结贴了!
------解决方案--------------------
访问index.jsp的时候在浏览器地址栏输入http://localhost:8080/项目名/index.jsp
然后使用onload,加载一个方法,方法里面去访问action。
------解决方案--------------------
写一个main.jsp,main.jsp啥时不做,<jsp:forward page="...action"></jsp:forward>在这个action里,返回index.jsp。
这个main.jsp就起到一个按钮的作用。网站都是这么设计的,否则首页没有数据
------解决方案--------------------
探讨
index.jsp 中<jsp:include flush="true" page="/cardactivationAction.do method=query"></jsp:include>
此action 在struts 中的返回路径是content.jsp 肯定能够实现!楼主可以结贴了!