【发布时间】:2014-12-12 04:01:52
【问题描述】:
我知道当 HTML 表单元素的名称发生变化时,为了让处理表单的 Servlet 检索参数,它必须知道更新后的元素名称。在尝试减少必须进行的更改量(从 2 个位置减少到 1 个位置)时,我在 Servlet 中创建了一个静态字段,该字段在检索参数时在 doPost() 方法中引用,并且还在JSP,而不是硬编码元素名称。除了使用 scriptlet 之外,谁能想到这将是一个坏主意的原因?如果元素的名称需要更改,我现在只需更改 1 个位置(Servlet 常量)。
Servlet 代码:
package com.example.servlets;
public class ServletDemo extends HttpServlet {
public static final String FIRST_NAME_FIELD = "firstName";
public void doPost(HttpServletRequest request, HttpServletResponse response){
String firstName = request.getParameter(FIRST_NAME_FIELD);
//do something with the first name
}
}
JSP:
<%@ page import="com.example.servlets.ServletDemo" %>
<html>
<head>
<title>Example Page</title>
</head>
<body>
<form method="POST">
<h3>FirstName:</h3>
<input name="<%=ServletDemo.FIRST_NAME_FIELD%>"/>
<input type="submit" value="Submit"/>
</form>
</body>
</html>
【问题讨论】:
-
public static void FOO_FORM_FIRST_NAME_PARAMETER = 'fName' ???当然你的意思是
String -
是的,我做到了。我刚刚更正了,谢谢