【发布时间】:2014-09-17 13:54:14
【问题描述】:
你能帮我想出解决办法吗? 有将表单参数发送到 servlet 的 JSP 页面。 通常我通过 HttpServletRequest.getParameter() 解析参数,它适用于参数数量很小的表单。 现在我正在开发的应用程序有很多带有大量参数的 JSP,并且表单处理的标准方式很不方便。 我认为可能的解决方案可能是使用-action。 我不明白它是否适合我。 我浏览了很多资料,但一无所获。 我的意思是有任何关于在 jsp 中获取表单参数的可能性的信息, 自动创建实体类的实例, 将所有参数映射到实体属性并将实体实例发送到 servlet。 请看代码:
index.jsp
<html>
<head>
<title></title>
</head>
<body>
<form method="post" action="NewFormServlet" enctype="application/x-www-form-urlencoded">
<jsp:useBean id="client-bean" class="model.entity.Client" scope="request"/>
<h3>Please enter client information</h3><br>
Client first name<input type="text" name="first-name"/><br>
<jsp:setProperty name="client-bean" property="firstName" value="${requestScope.first-name}"/>
Client last name<input type="text" name="last-name"/><br>
<jsp:setProperty name="client-bean" property="lastName" value="${requestScope.last-name}"/>
Client address<input type="text" name="address" size="100"/><br>
<jsp:setProperty name="client-bean" property="address" value="${requestScope.address}"/>
Client city<input type="text" name="city"/><br>
<jsp:setProperty name="client-bean" property="city" param="${requestScope.city}"/>
Client postal code<input type="text" name="postal-code"><br>
<jsp:setProperty name="client-bean" property="postalCode" value="${requestScope.postal-code}"/>
<input type="hidden" name="jsp-identifier" value="client-form">
<input type="submit" value="Submit">
</form>
</body>
</html>
这段代码有什么不正确的地方?提前谢谢你。
【问题讨论】:
-
在线教程:jsptut.com/Forms.jsp
-
关键点:输入元素的名称必须与属性名称完全匹配,否则必须在jsp:setProperty标签中用param属性标识字段。