我在JSP文件中有一些值,而且将单选按钮按到Servlet并输出它时出现问题。
输入文件位于此jsp:
中<label for="phone">Phone: </label>
<input type="text" name="phone" id="phone" value="${phone}"><br/><br/>
<input type="radio" name="sex" id="sex" value="${male}">Male
<input type="radio" name="sex" id="sex" value="${female}"/>Female<br/><br/>
Servler在这里:public static RequestNewEmployee fromRequestParameters(HttpServletRequest request) {
return new RequestNewEmployee(
request.getParameter("firstName"),
request.getParameter("lastName"),
request.getParameter("email"),
request.getParameter("phone"),
request.getParameter("sex"));
}
public void setAsRequestAttributes(HttpServletRequest request) {
request.setAttribute("firstName", firstName);
request.setAttribute("lastName", lastName);
request.setAttribute("email", email);
request.setAttribute("phone", phone);
request.setAttribute("sex", sex);
}
然而,我没有在性领域接受任何祈祷(通过所有其他工作正常)。可能是什么问题?
答案 0 :(得分:-1)
<强>理论强>
$ {}称为EL表达式。在里面你可以有变量。来自the oracle tutorial:
Web容器评估表达式中显示的变量 通过根据行为来查找其价值 使用pageContext.findAttribute(字符串)。例如,在评估时 表达式$ {product},容器将在中寻找产品 页面,请求,会话和应用程序范围,并将返回它 值。如果找不到产品,则返回null。一个变量 匹配隐式对象中描述的隐式对象之一 返回隐式对象而不是变量的值。
现在让我们谈谈你的问题。
male
和female
变量?我认为这是你想要实现的目标:
form.jsp
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="/formServlet">
<input type="radio" name="sex" id="sexChoice1" value="male">Male
<input type="radio" name="sex" id="sexChoice2" value="female"/>Female<br/><br/>
<input type="submit" value="submit">
</form>
</body>
</html>
<强> FormServlet 强>
public class FormServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
System.out.println(req.getParameter("sex"));
}
}
<强>的web.xml 强>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
<servlet>
<servlet-name>FormServlet</servlet-name>
<servlet-class>com.artmal.controller.FormServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FormServlet</servlet-name>
<url-pattern>/formServlet</url-pattern>
</servlet-mapping>
</web-app>
选择&#39;男性&#39>后的控制台输出选项和提交:
雄性