的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;单击按钮。帮助我找出我在做什么错误?
答案 0 :(得分:1)
1)onclick
需要JavaScript代码,因此理想情况下应该调用处理事件的JS函数;在此功能中,您可以使用AJAX call来调用table1.jsp
代码;反正
2)这样的代码不属于JSP,它应该在servlet中;
3)此外,请记住(或学习)JSP / Servlet中的所有局部变量,例如d
,e
和f
,仅在请求中“生存”,即每次“SAVE”通话时,它们将重置为0
;如果你希望它们存活下来,你必须将它们存储到会话范围(或者应用范围,取决于它们应该代表什么);
4)最后但并非最不重要:使用参数和变量名称,例如a
,b
,c
,d
等,非常糟糕的做法如果您将此类代码提交到我正在处理的项目中,我会骂你;
答案 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文件名!... 希望这会有所帮助,因为我目前不在开发中,所以我尚未发布任何代码。如果您愿意,请发表评论,我会在业余时间尝试!。