я устанавливаю request.getAttribute, как показано ниже в моем JSPrequest.getAttribute является недействительным в сервлет
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
request.setAttribute("name", "anita");
%>
<%=request.getAttribute("name") %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form method="POST" action="QnAAuthServlet">
<input type="hidden" name="orgName" value="SENDFORBOB"></input>
<input type="submit"></input>
</form>
</body>
</html>
Я могу напечатать также в моем JSP
Я пытаюсь request.getAttribute в моем сервлете ниже
public class QnAAuthServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public QnAAuthServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
enter code here
String name = (String) request.getAttribute("name");
System.out.println("name = " + name);
}
}
Но имя всегда имеет значение null в моем сервлете. Пожалуйста, помогите мне решить эту проблему.
В настоящее время в этом примере я прошел только строку. Но в моей реальной реализации я должен передать объект из jsp в сервлет. Итак, если я создаю элемент ввода, это не поможет мне. – Anita
Если вы не используете весну или что-то, чтобы нанести на карту свой запрос как объект, вы не сможете иметь объект в своем запросе. – ChrisThompson
Это, вероятно, не рекомендуется, но вы можете поместить объект в сеанс. Я не вижу причин, по которым вы поставили бы значение в запросе в JSP, чтобы он возвращался в запрос так или иначе, поскольку он уже отображается на стороне сервера. – ChrisThompson