如何创建带有taglib前缀的jquery元素?

时间:2012-08-13 13:01:22

标签: jquery spring jsp taglib

是否可以使用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”表示法的错误。如果我没有在输入中添加“form”前缀,则输入值似乎不会发送到java / spring上的服务器代码。

有什么建议吗?


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

1 个答案:

答案 0 :(得分: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);
}