0

我想在 jquery 中使用.html() 这样的 for 循环:

.html('<select property="doctype" name="doctype"><%for (String number : list)
{%>'<option value="'<%=number%>'>'<%out.println(number); %>'</option>'<% } %>'</select>');

在 Java 的 for each 循环列表中,它使用java.util.ArrayList<String>.

.html();当我们点击添加按钮时,这里的函数将被调用。这里我的问题是可以在 jquery 的 .html() 中编写 jsp scriplet 代码。

4

3 回答 3

0

jsp ,jsf 和其他类型的java web 技术在服务器端呈现。由于 jquery 是一种客户端技术,因此这是不可能的。

相反,您可以通过 jquery 进行 ajax 调用并更新 html。

于 2013-07-12T06:40:57.033 回答
0
function will call when we click on add button.

不,你不能。

jsp是编译时。

更多的java脚本在客户端播放,jsp在服务器端播放。

于 2013-07-12T06:40:39.787 回答
0

您不能让客户端在您的 scriptlet 中执行 Java。幸运的是,您想要做的事情很常见。

不要尝试在 scriptlet 或 jsp 中动态生成 JavaScript。很容易出错并最终导致 JavaScript 格式错误。

相反,使用 .jsp 输出 HTML。然后使用静态 JavaScript 抓取该 HTML 并将其放在 DOM 中您想要的位置。

例如,您的 jsp 文件可能如下所示:

<div id="destination">The select element will be added to this div.</div>

<select id="my-select" property="doctype" name="doctype"> 
<c:forEach  items="${list}" var="number">
   <option value="${number}">${number}</option>
</c:forEach>
</select>

<script>
    $('#destination').append($('#my-select'));
</script>
于 2013-07-12T07:01:49.443 回答