避免参数名称重复

时间:2011-11-08 11:53:10

标签: java jsp parameters

.jsp 文件的POST中,我想做这样的事情:

<input type="text" name="...">

在servlet中我想做:

request.getParameter(...)

现在应该在哪里以及如何声明“...”以便我可以避免重复并重复使用相同的字符串。

这应该是这样的界面:

公共接口SO {

String POST_PARAM = "userinput";

}

或者在属性文件中?或者......?

在任何情况下,我如何从 .jsp .java 文件中访问它?

3 个答案:

答案 0 :(得分:1)

您可以定义final String POST_PARAM = "userinput";之类的常量,然后在标记中使用它们:<input type="text" name="<%=POST_PARAM%>">。 除非您有理由这样做,否则将字段名称移动到属性文件听起来并不有益。

要从表单提交引起的HTTP请求获取参数值,请说request.getParameter(POST_PARAM)

我希望这会有所帮助。

答案 1 :(得分:0)

你可能会从使用EL的bean获得...但是,这对我来说并不常见。

答案 2 :(得分:0)

您可以使用标准操作:jsp:useBeanjsp:setPropertyJavaBean技术:


示例:

A.jsp应将HTTP POST调用到B.jspB.jsp应自动映射所有字段并重定向到您的servlet。

// model.MyBean.java
class MyBean {
   private int age;
   // getters&setters
}

// A.jsp:
<form method="POST" action="B.jsp">
   <input type="text" name="age">
</form>

// B.jsp
<jsp:useBean id="form" class="model.MyBean" scope="request" />
<jsp:setProperty name="form" property="*" />
<jsp:include page="/servletURL" />

小描述:

  1. 将创建MyBean类。这个bean应该完全一样 字段名称与表单中的名称相同:对于bean中的<input type="text" name="age">,应存在int age字段和getter / setter。
  2. 带有通配符的
  3. jsp:setProperty将表单A.jsp中的所有值自动映射到您的bean中。
  4. 如果你想调用你的servlet,你可以简单地包含适当的url。然后在servlet中,您将可以访问请求属性“form”,该属性将具有输入值的MyBean。