【问题标题】:how to access inner class field inside javascript如何访问javascript中的内部类字段
【发布时间】:2009-09-09 10:37:20
【问题描述】:

我有一个名为 SelectProdLineAssociationForm 的内部类(静态)

我也做过这样的声明——

public SelectProdLineAssociationForm selectProdLineAssociationForm =
  new SelectProdLineAssociationForm();

现在在 onclick 事件中,我想将内部类中的字段设置为一个值 所以我是

document.forms[0].selectProdLineAssociationForm.selectedProdLineAssociationKey =
  selectedProdLineAssociationKey;

其中 selectedProdLineAssociationKey 在 javascript 方法中传递 然后它给出了javascript错误 document.forms[0].selectProdLineAssociationForm 未定义 谁能告诉我为什么以及如何解决它

【问题讨论】:

  • 不清楚你是在使用struts还是其他将服务器端java对象映射到客户端HTML的框架......你能提供更多细节吗?

标签: java javascript jsp


【解决方案1】:

您无法从 javascript 访问 java 方法或属性。 Javascript 是纯粹的客户端。

您可以这样做的一种方法是将属性打印到一个块中,然后您可以从 javascript 访问它,例如:

<script>
var selectedProdLineAssociationKey  = '<%= SelectProdLineAssociationForm.selectProdLineAssociationForm.toString();=%>';
//...you can then use this variable else where in your script block
</script>

但是您将无法更改该值,除非您将其 POST 回来(并且具有在服务器端更改它的逻辑)。

【讨论】:

    【解决方案2】:

    我要在这里使用 Struts ...(正如 Massimiliano Fliri 所说,您必须提供更多详细信息)。

    您必须验证输入标签在 HTML 中的命名方式。根据您编写 JSP 的方式,您可能有一个名为 selectProdLineAssociationForm.selectedProdLineAssociationKey(一个元素)的输入标记。

    这段代码:

    document.forms[0].selectProdLineAssociationForm.selectedProdLineAssociationKey
    

    说您的表单包含selectProdLineAssociationForm,而后者又包含selectedProdLineAssociationKey(两个元素)。

    这只是对您在做什么的猜测。如果您需要更多帮助,您必须提供更多信息。

    【讨论】:

      猜你喜欢
      • 2021-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-24
      • 2021-12-15
      • 2011-09-26
      相关资源
      最近更新 更多