Javascript 确定在Struts2中返回输入的原因

Javascript 确定在Struts2中返回输入的原因,javascript,jsp,struts2,Javascript,Jsp,Struts2,我的Action类中有一段大约有100个变量的代码。它们不能在JSP页面中直接访问,即JSP页面的name属性不同于Java Action类中的变量名。JSP页面中的值是根据Javascript中的更改设置的 例如: <!-- HTML --> <!--js is called on page load--> <s:hidden name="optionJava"></s:hidden> <s:select id="optionValue

我的Action类中有一段大约有100个变量的代码。它们不能在JSP页面中直接访问,即JSP页面的name属性不同于Java Action类中的变量名。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.
  }
}

选择A
选定的
//Struts2-动作类
私有int optionJava;
//Javascript
if(document.getElementById('optionJava')。值==1){
if(document.getElementById('optionValues')。selectedIndex==1){
document.getElementById('values')。value==10;
//根据当前选定选项的值10,将触发另一个字段。
}
}
基于这种结构,如果选择1,则选项Java值会不断更改以显示另一个字段,如果选择2,则不显示任何内容

现在,由于这个1和2,我用1得到的值(可以认为是“是”)在应用程序中工作得很好,即页面返回SUCCESS。 但是,如果我选择2(对于某个特定字段,可以将其视为“否”),则不会触发另一个字段,页面将返回输入

我的页面中有100多个变量,我不确定是哪个变量导致了这个问题


检查Java类中是否存在输入验证和变量时应遵循的实践是我必须知道的,但我不明白为什么选择1时相同的代码会工作,而选择2时相同的代码会进入输入?

只要看到一个操作/字段错误。您设置了一个错误的值,无法转换为整数。另外,读取可能有助于理解整个thingServer返回的输入,所以我们需要看一下动作才能确定。@AndreaLigios-谢谢链接。我的struts.xml中有defaultStack。问题在于知道为什么“是”值会传递给成功,而“否”值会提供输入。两种情况下,变量都是相同的。另一个疑问是,在100个变量的情况下,我们实际上是在检查哪个变量是手动给出输入结果的,还是有其他方法来实现它?