2016-10-09 15 views
0

Javaは、JSPページにサーブレット要求を設定し、私はJSPページにサーブレットからいくつかの値をロードする必要が

マイ「order_processing.jsp」JSPページのコードが

<%@page import="test.abc.io.User_Objects"%> 
<%@ page import="java.util.Date" %> 
<%@ 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"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Order Processing</title> 
</head> 
<body> 
    <form name="OrderProcessing" action="order_processing" method="post" onsubmit="return validateForm();"> 
     <table align="center"> 
      <tr align="center"> 
       <td colspan="2"> 
        <img src="images/otn_logo.jpg"/> 
       </td> 
      </tr> 
      <tr> 
       <td>First Name :</td> 
       <td><input type="text" id="txtFirstname" name="txtFirstname" value="${reqObj.firstname}" /></td> 
      </tr> 
      <tr> 
       <td>Last Name :</td> 
       <td><input type="text" id="txtLastname" name="txtLastname" value="${reqObj.lastname}" /></td> 
      </tr> 
      <tr> 
       <td>Communication Email :</td> 
       <td><input type="text" id="txtCommunicationEmail" name="txtCommunicationEmail" value="${reqObj.commEmail}" /> 
       <label style="color: red;">*</label></td> 
      </tr> 
      <tr align="left"> 
       <td colspan="2"><input type="submit" value="Submit" /></td> 
      </tr> 
     </table> 
    </form> 
</body> 
</html> 

マイUSER_OBJECTSコードの下に与えられている

public class User_Objects { 
    public String firstname; 
    public String lastname; 
    public String commEmail; 
} 

マイ "OrderProcessing" コード

import java.io.IOException; 
import javax.servlet.RequestDispatcher; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

public class OrderProcessing extends HttpServlet { 
    private static final long serialVersionUID = 1L; 
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     try { 
      User_Objects fillObj = new User_Objects(); 
      fillObj.firstname = "Test"; 
      fillObj.lastname = "User1"; 
      fillObj.commEmail = "[email protected]"; 

      request.setAttribute("reqObj", fillObj); 
      RequestDispatcher view = request.getRequestDispatcher("/order_processing.jsp"); 
      view.forward(request, response); 
     } catch (Exception e) { 
     } 
    } 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
     System.out.println("into OrderProcessing java"); 
    } 
} 
私はこのプロジェクトをデバッグし、送信ボタンをクリックすると

私のweb.xmlのコード

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> 
    <display-name>OrderProcessing</display-name> 
    <welcome-file-list> 
    <welcome-file>order_processing.jsp</welcome-file> 
    </welcome-file-list> 
    <servlet> 
    <servlet-name>order_processing</servlet-name> 
    <servlet-class>test.abc.io.OrderProcessing</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>order_processing</servlet-name> 
    <url-pattern>/order_processing</url-pattern> 
    </servlet-mapping> 
</web-app> 

は、その次のエラー得られます

SEVERE: Servlet.service() for servlet jsp threw exception 
javax.el.PropertyNotFoundException: Property 'firstname' not found on type test.abc.io.User_Objects 

をし、私はまた、order_processing.jsp」にいくつかのタスクを実行したいです"ページの読み込み。 このプロジェクトを実行すると、order_processing.jspページが正常に表示されますが、その場合はメソッドOrderProcessing.javaが呼び出されませんでした。

私はEclipse MarsでJAVAを使用しています。

答えて

0

オブジェクト "User_Objects"はjava beanではありません。 firstname、lastNameおよびcommEMailはフィールドであり、プロパティではありません。 firstName、lastName、commemailのgetter/setterを追加しようとします。

+0

私の最初の問題は解決されました。あなたも私に示唆することができます "私も" order_processing.jsp "ページの負荷でいくつかのタスクを実行したいですが、私はこのプロジェクトを実行すると、私のorder_processing.jspページが正常に表示されますが、その場合はOrderProcessing.javaのdoGetメソッドは呼び出さなかった? " – user3441151

+0

ページをロードすると、HTTP GET要求が行われます(したがってdoGetが呼び出されます)。 フォームを送信すると、HTTP Post要求が行われます(したがって、doPostが呼び出されます)。 doGetは決して呼び出されませんか、フォームを送信する場合のみですか? –

+0

doGetは決して呼び出されません。 – user3441151

関連する問題