Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Struts2S:选择标记动态id_Java_Javascript_Jsp_Struts2_Ognl - Fatal编程技术网

Java Struts2S:选择标记动态id

Java Struts2S:选择标记动态id,java,javascript,jsp,struts2,ognl,Java,Javascript,Jsp,Struts2,Ognl,我在JSP页面中有多个不同类型的字段和一个按钮。 这些字段是根据从我创建的元数据表中获取的信息生成的 因为我不知道有多少字段以及字段的类型,所以我给它们提供了动态id。我在JSP中使用Struts 2标记 问题在于标记:当我在id属性中指定scriplet时,它会显示以下错误: org.apache.jasper.JasperException:/success.jsp83,12应为引号符号 Javascript如下所示: var addUpdateBtnId=document.getEleme

我在JSP页面中有多个不同类型的字段和一个按钮。 这些字段是根据从我创建的元数据表中获取的信息生成的

因为我不知道有多少字段以及字段的类型,所以我给它们提供了动态id。我在JSP中使用Struts 2标记

问题在于标记:当我在id属性中指定scriplet时,它会显示以下错误:

org.apache.jasper.JasperException:/success.jsp83,12应为引号符号

Javascript如下所示:

var addUpdateBtnId=document.getElementById'addUpdateBtnId'; addUpdateBtnId.value='Update'; addUpdateBtnId.onclick=函数{ onClickUpdateBtnrowIndex; }; var selectedUpdateRow=xmlhttp.responseText.split,; forvar i=0;i您应该像这样使用Struts2表达式语法:

id="%{'columnId' + count}"

Struts2 usage valuestacks,因此应以ognl方式获取此计数, 试着这样做:

id="%{'columnId'+count}"
Scriptlet是做事的老方法; Struts2仅使用其标记和OGNL帮助您实现相同的目标

该部分正在工作,因为您正在允许的HTML标记中注入scriptlet

该部件无法工作,因为您正在Struts2标记内注入scriptlet,这是不允许的

要使其正常工作,您应该在OGNL中使用attr语法来访问Scriptlet中声明的Java变量,并在页面上下文中由您推送,如下所示:完全未经测试:


在我的代码中,count是一个JAVA变量。我把它当作柜台用。我已将其实例化为。我试过上面的代码,它不起作用这个工作将scriplets与JSP标记混合是一个糟糕的做法,您应该尝试在我的代码中使用或定义count作为action的属性count是一个JAVA变量。我把它当作柜台用。我已将其实例化为。我试过上面的代码,它不起作用。这很有效