具体是这样的,showgoods.jsp页面是读取数据库中的内容,现在当第一次进入到这个页面中时,没有任何数据,只有点击了“查询”按钮后通过
<html:form action="/showgoods" onsubmit="oncheck();">
以及
     <action
      attribute="showGoodsFrom"
      name="showGoodsFrom"
      input="/showgoods.jsp"
      path="/showgoods"
      scope="request"
      type="org.springframework.web.struts.DelegatingActionProxy"
      validate="false">
      <forward  name="showgoods" path="/showgoods.jsp" />
     </action>
来调用Action类中的;
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
这个函数,才能在showgoods.do中显示出数据来。
我现在想要的是在打开showgoods.jsp页面时,直接能从数据库中读取数据并显示出来,不需要按“查询”按钮通过提交再显示数据。

解决方案 »

  1.   

    hehe, 1:判断下页面有没有数据,如果没有,脚本自动提交一次。
    这个方法有隐患:如果后台没数据,死循环。2:传递一个标志,标志表明是首次打开的时候,脚本自动提交查询。脚本自动提交的时候改变标志。
      

  2.   

    <html:form action="/showgoods" onsubmit="oncheck();">改成<html:form action="/showgoods" onsubmit="oncheck();" name="form1">脚本:<script> 
    if(1==<jsp:getProperty name="XXXXForm" property="flag"/>) document.form1.submit();</script>
      

  3.   

    <html:form action="/showgoods" onsubmit="oncheck();" name="form1">
    里里面跟一个<input type="hidden" name="flag" value="2">
      

  4.   

    呵呵,知道了。谢谢。
    我说一下,就是<html:form action="/showgoods" onsubmit="oncheck();" name="form1">
    没有name属性,如果用脚本的话应该这样写
    <script> 
    if(1==<jsp:getProperty name="XXXXForm" property="flag"/>) document.all.showGoodsForm.submit();
    </script>
    这里的showGoodsForm是action映射后自动得到的。这样有一做的方法感觉有一个不好之处就是如果第一次打开页面的时候只显示了一些静态数据,加载慢的话感觉什么也没有,页面进行了再次加载才出现。如果有第一次打开就加载的方法那就更好了。
    不过还是谢谢你 jihanzhong(逍遥)。
      

  5.   

    当然是建立自定义标签啦,tag