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>
表1.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++;
%>
单击"保存"按钮时,它应该运行 table1.jsp索引中文本字段中的值.html应该进入 table1 中创建的数组.jsp并在每次单击"保存"按钮时递增 d,e,f 的值。帮我找出我犯了什么错误?
> 1( onclick
需要 JavaScript 代码,所以理想情况下,你应该调用处理事件的 JS 函数;在这个函数中,你可以使用 AJAX 调用来调用table1.jsp
代码;无论如何。
2(这样的代码不属于JSP,它应该在一个servlet中;
3(此外,请记住(或学习(JSP/Servlets中的所有局部变量,例如您的d
,e
和f
,仅在请求中"生活",即它们将在每次"SAVE"调用时重置为0
;如果您希望它们存活下来,则必须将它们存储在会话范围(或者可能是应用程序范围,具体取决于它们应该表示什么(;
4(最后但并非最不重要的一点是:使用参数和变量名称,如a
,b
,c
,d
等是非常糟糕的做法,如果你将这样的代码提交到我正在处理的项目中,我会责骂你;
我的解决方案将首先创建一个servlet,比如abc.java,然后在abc.java的doGet方法中,使用RequestDispatcher调度你的JSP文件!然后在按钮参数中使用以下语法。
<button onclick="location.href = './abc'">take me to required jsp file</button>
请记住 abc 是 servlet 文件名...希望这有所帮助,因为我目前没有处理它,所以我还没有发布任何代码。如果您想发表评论,我会在业余时间尝试!