3

是否可以创建一个带有 spring taglib 前缀的 jquery 元素?

在我的 jsp 中,我有我的 taglib

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>

我想做:

             $('<form:input/>', {type: "hidden", prefix: "form", path: "critList["+j+"].attrib", value : splitted[0]  }).appendTo("form[name='cisManagerForm']");
             $('<form:input/>', {type: "hidden", prefix: "form", path: "critList["+j+"].operator", value : splitted[1]  }).appendTo("form[name='cisManagerForm']");
             $('<form:input/>', {type: "hidden", prefix: "form", path: "critList["+j+"].value1", value : splitted[2]  }).appendTo("form[name='cisManagerForm']");

但是当我尝试在 Apache 中部署页面时,“form:input”符号出现错误。如果我没有在输入中添加“表单”前缀,则输入值似乎不会发送到我在 java/spring 上的服务器代码。

有什么建议么?


顺便说一句,为问题添加更多上下文。我的目标是能够在服务器端填充 AutoPopulatingList,基于我在客户端使用 javascript 所做的数据转换(同时我正在使用相同的 POST 向服务器发送一些其他数据)。

4

1 回答 1

2

使用 javascript 为您的表单元素创建 spring 标记标记会使您的 html 无效。

如果我理解正确,您希望使用 javascript 在客户端动态构建表单,并希望绑定在服务器端创建的新元素。如果是这样,除了遍历请求参数中的项目之外,没有简单的答案...例如

Enumeration en = request.getParameterNames();
ArrayList params = new ArrayList();
while (en.hasMoreElements())
{
    String name = (String)en.nextElement();
    NameValuePair pair = new NameValuePair(name, request.getParameter(name));
    params.add(pair);
}
于 2012-08-13T15:25:15.557 回答