2013-03-15 36 views
0

初始化我有一个简单的JSP如下:JSP页面形式进入无限循环当操作网址从变量

以上JSP
<form name="myform" id="myform" 
     action="${pageContext.request.contextPath}/validateLoginID.do" method="POST"> 
    <input type="text" name = "loginID" id="loginID" value="${loginID}"/> 
</form> 

<script> 

window.alert("Submitting form!"); 
document.myform.submit(); 
</script> 

代码工作。但是,当我尝试初始化从变量,而不是动作,使用类似:“提交表单”

action="${myLink}" method="POST"> 

它会进入一个无限循环,打印每一次。这是为什么发生?

回答

0

好,可能是因为它的行动提交的形式返回上面的页面,提交表单,它显示的页面,提交表单等

+0

当然,这是我检查的第一件事,但myLink包含与之前包含的操作相同的链接。 – CodeBlue 2013-03-15 21:03:31

+1

那么,行动的代码必须已经改变。使用调试器并逐步执行操作代码以查看它的功能。在窗体再次提交之前,在窗体中放置一个按钮并手动提交它将有助于检查页面的内容。 – 2013-03-15 21:07:52

0

"myLink"实际上为变量的伪名我实际使用的“名称”。我试图模仿${pageContext.request.contextPath}并且有这样的名字,但不幸的是,变量名中的导致了这个问题。删除点后,它可以正常工作。

0

我认为struts验证框架隐含在上面的代码下面。只要它返回的输入相同的页面涉及的JavaScript再次提交错误的页面,它重复。删除document.myform.submit();或进行功能

<script type="text/javascript"> 
function doSubmit(){ 
    window.alert("Submitting form!"); 
    document.myform.submit(); 
} 
</script> 

,将停止提交负载。