单击按钮运行jsp文件

时间:2017-06-15 13:34:15

标签: html jsp onclick

的index.html

 <form action="table2.jsp">
      Name:<input type="text" name="j"><br>
      Address:<input type="text" name="k"><br>
      phone:<input type="text" name="h"><br>
      <input type="Submit" value="SUBMIT"><br>
      <input type="button" value="SAVE" onclick="table1.jsp">
 </form>

table1.jsp

<% String a,b,c;
        int d=0,e=0,f=0;
        String l[]=new String[d];
        String m[]=new String[e];
        String n[]=new String[f];
        a=String.valueOf(request.getParameter("j"));
        b=String.valueOf(request.getParameter("k"));
        c=String.valueOf(request.getParameter("h"));
        l[0]=String.valueOf(a);
        m[0]=String.valueOf(b);
        n[0]=String.valueOf(c);
        out.print("SAVED");
        d++;e++;f++;
        %>

点击&#34; SAVE&#34;按钮它应该运行table1.jsp并且index.html中textfield的值应该进入table1.jsp中创建的数组内部并且每次增加d,e,f的值&#34; SAVE&#34;单击按钮。帮助我找出我在做什么错误?

2 个答案:

答案 0 :(得分:1)

1)onclick需要JavaScript代码,因此理想情况下应该调用处理事件的JS函数;在此功能中,您可以使用AJAX call来调用table1.jsp代码;反正

2)这样的代码不属于JSP,它应该在servlet中;

3)此外,请记住(或学习)JSP / Servlet中的所有局部变量,例如def,仅在请求中“生存”,即每次“SAVE”通话时,它们将重置为0;如果你希望它们存活下来,你必须将它们存储到会话范围(或者应用范围,取决于它们应该代表什么);

4)最后但并非最不重要:使用参数和变量名称,例如abcd等,非常糟糕的做法如果您将此类代码提交到我正在处理的项目中,我会骂你;

答案 1 :(得分:1)

我的解决方案首先创建一个servlet,例如 abc.java ,然后在 abc.java 的doGet方法中使用 RequestDispatcher 分派您的JSP文件!然后在button参数中使用以下语法。

<button onclick="location.href = './abc'">take me to required jsp file</button>

记住abc是servlet文件名!... 希望这会有所帮助,因为我目前不在开发中,所以我尚未发布任何代码。如果您愿意,请发表评论,我会在业余时间尝试!。