我正在使用strust2框架,jsp,java和cayenne作为orm的web应用程序。我是所有这些技术的新手,包括ajax和jquery。我必须创建一个jsp页面,其中用户从下拉列表中选择一个控件(文本框,标签,组合框,下拉列表)。它应该在上面的同一页面上创建它选择和提交的内容。 如果我能管理他们的尺寸,那将会很棒。
由于
答案 0 :(得分:0)
在服务类中,您可以在数组中添加要显示在下拉列表中的所有组件。就像这样
ArrayList<String> htmlControls = new ArrayList<>();
htmlControls.add("input");
htmlControls.add("textarea");
htmlControls.add("checkbox");
然后在HTTP session 对象中添加此数组列表,如
session.setAttribute("htmlCtrls",htmlControls);
在JSP中,您可以使用JSTL for-each loop
创建动态下拉列表。
<c:forEach var="controls" items="${session.htmlCtrls}">
<options><c:out value="${controls}"/></options>
</c:forEach>
使用JQuery在onChange()
上应用HTML select element
事件
<script>
$( "select" ).change(function () {
var str = "";
$( "select option:selected" ).each(function() {
str = $( this ).text();
});
if(str == "input")
$( "div" ).append("<input type='text' name='textbox1' value='' />");
else if(str == "textarea")
$( "div" ).append("<input type='textarea' name='textarea1' value='' />");
// ...
})
.change();
</script>
您可以将 class 或 id 添加到每个html控件&amp;使用JQuery或外部css动态地将css应用于它们。
希望这会对你有所帮助。