在 .jsp 文件的POST中,我想做这样的事情:
<input type="text" name="...">
在servlet中我想做:
request.getParameter(...)
现在应该在哪里以及如何声明“...”以便我可以避免重复并重复使用相同的字符串。
这应该是这样的界面:
公共接口SO {
String POST_PARAM = "userinput";
}
或者在属性文件中?或者......?
在任何情况下,我如何从 .jsp 和 .java 文件中访问它?
答案 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:useBean,jsp:setProperty和JavaBean技术:
示例:强>
A.jsp
应将HTTP POST调用到B.jsp
。 B.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" />
小描述:
<input type="text"
name="age">
,应存在int age
字段和getter / setter。jsp:setProperty
将表单A.jsp中的所有值自动映射到您的bean中。