我的Action类中有一段包含大约100个变量的代码。它们不能在JSP页面中直接访问,即JSP页面的name属性与Java Action Class中的变量名称不同。 JSP页面中的值是根据Javascript中的更改设置的。
例如:
<!-- HTML -->
<!--js is called on page load-->
<s:hidden name="optionJava"></s:hidden>
<s:select id="optionValues" name="values">
<option>SelectedA</option>
<option>SelectedB</option>
</s:select>
//Struts2 - Action class
private int optionJava;
//Javascript
if(document.getElementById('optionJava').value==1){
if(document.getElementById('optionValues').selectedIndex==1){
document.getElementById('values').value==10;
//Based on the 10 that is now the selected option's value , another field is triggered.
}
}
基于这样的结构,optionJava值不断变化以显示另一个字段(如果选择1)或者如果选择2则不显示任何字段。
现在,由于这个1和2,我得到的值1(可以被认为是'是')在应用程序中完美地工作,即页面返回SUCCESS。 但是,如果我选择2(对于特定字段可以被视为“否”),则不会触发另一个字段,页面将返回INPUT。
我的页面中有超过100个变量,我不确定哪个变量导致了这个问题。
检查INPUT时要遵循的做法是什么 - 我必须知道Java类中的变量验证和存在,但是我不明白为什么当选择1时相同的代码工作并且当INPUT进入INPUT时选择2?