저는 책을 읽고 몇 가지 온라인 자습서를 따라 JSP와 Servlet을 연구하고 있습니다. 나는 JSP와 서블릿을 사용하는 웹 프로그래밍에 완전히 새로운 것이다.<input type = "hidden"name ... /> JSP Servlet에서 어떻게 작동합니까?
내가 이해하려고하는 예를 발견했습니다.
index.html을
<form action="emailList" method="post">
<input type="hidden" name="action" value="add" />
<label>Email: </label>
<input type="email" name="email" required /> <br />
<label>First Name:</label>
<input type="text" name="firstName" required /> <br/>
<label>Last Name:</label>
<input type="text" name="lastName" required /> <br />
<label> </label>
<input type="submit" value="Join Now" id="submit" />
</form>
EmailServlet.java
public class EmailListServlet extends HttpServlet{
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String url = "/index.html";
//get the current action
String action = req.getParameter("action");
if(action == null){
action = "join"; //default action
}
//perform action and set URL to appropriate page
if(action.equals("join")){
url = "/index.html"; //the join page
}
else if(action.equals("add")){
//get parameters from the request
String firstName = req.getParameter("firstName");
String lastName = req.getParameter("lastName");
String email = req.getParameter("email");
//store data in User object and save User object in database
User user = new User(firstName, lastName, email);
UserDB.insert(user);
//set User object in request object and set URL
req.setAttribute("user", user);
url = "/thanks.jsp"; //the thanks page
}
//forward request and response objects to specified url
getServletContext().getRequestDispatcher(url).forward(req, resp);
}
내가 이해하지 않는 것은 IF-ELSE
부분입니다.
어딘가에 숨겨진 <input>
을 사용하는 주된 목적은 양식의 상태를 확인하는 것입니다. 내가 이해하는 방식은 양식 필드 (또는 매개 변수)가 null인지 아닌지 확인하는 방법입니다..
그런 경우라면 value="add"
속성의 목적은 무엇입니까?
else if(action.equals("add"))
에 대해 add
이 사용 되었기 때문에.
req.getParameter()
은 무엇을 반환 할 수 있습니까?
//get the current action
String action = req.getParameter("action");
이전에 PHP에 CRUD 프로젝트를 수행하여 양식에 null 매개 변수가 없는지 확인하기 위해 ff를 사용했기 때문에 묻습니다.
if(isset($_POST['btnSave'])){
}
<form method ="POST" action="index.php">
<label>First Name<input type="text" name="firstname" required></label>
<br /><br />
<label>Last Name<input type="text" name="lastname" required></label>
<br /><br />
<input type = "submit" name="btnSave" value="Save" />
<input type = "submit" name="btnSearch" value="Search" />
</form>
대신 마지막 형태 예에 대신
hidden input
의
btnSave
결정 (버튼)를 사용 하였다.
value="add"
과 req.getParameter("action")
이 반환 할 수있는 점이 없습니다. 그것이에 사용 되었기 때문에 IF-ELSE
나는 어떤 설명을 주시면 감사하겠습니다.
감사합니다.
req.getParameter ("동작")는 동작, 즉 값이 숨겨진 필드는 단지 모든 입력 필드처럼 – Gaur93
닦이. 차이점은 화면에 나타나지 않으며 사용자가 값을 수정할 수 없다는 것입니다. 그 외에도 다른 필드와 마찬가지로 요청 매개 변수를 제출할 수 있습니다. 이 경우 서버에서 수행 할 작업 (추가 또는 결합)을 알리는 데 사용됩니다. –