2011-11-27 2 views
1

저는 JSP에서 새롭고 간단한 전력 계산자를 사용하려고합니다. 그래서 나는 사용자로부터 2 개의 숫자를 취하고 나중에 계산 결과를 얻고 페이지에 보여줍니다. 여기 내 빈 클래스입니다 :useBean 클래스 속성의 값이 올바르지 않습니다.

package org.mypackage.power; 

public class MyPow { 

    private double base; 
    private double pow; 
    private double result; 

    MyPow() 
    { 
     base = 0; 
     pow=1; 
    } 

    /** 
    * @return the base 
    */ 
    public double getBase() { 
     return base; 
    } 

    /** 
    * @param base the base to set 
    */ 
    public void setBase(double base) { 
     this.base = base; 
    } 

    /** 
    * @return the pow 
    */ 
    public double getPow() { 
     return pow; 
    } 

    /** 
    * @param pow the pow to set 
    */ 
    public void setPow(double pow) { 
     this.pow = pow; 
    } 


    /** 
    * @return the result 
    */ 
    public double getResult() { 
     return Math.pow(base, pow); 
    } 

    /** 
    * @param result the result to set 
    */ 
    public void setResult(double result) { 
     this.result = result; 
    } 
} 

그리고 여기있는 인덱스 페이지 :

<HTML> 
<BODY> 
<FORM METHOD=POST ACTION="result.jsp"> 
What's your base? <INPUT TYPE=TEXT NAME=base SIZE=20> 
What is your power <INPUT TYPE=TEXT NAME=power SIZE=10> 

<P><INPUT TYPE=SUBMIT> 
</FORM> 
</BODY> 
</HTML> 

그리고 여기 결과

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>JSP Page</title> 
    </head> 
    <body> 
     <h1>Hello World!</h1> 
     <jsp:useBean id="powerBean" scope="session" class="org.mypackage.power.MyPow" /> 
     <jsp:setProperty name="powerBean" property="*"/> 
     <jsp:getProperty name="powerBean" property="result"/> 
    </body> 
</html> 

표시됩니다 JSP 페이지이며,이 코드는

을 제공합니다

useBean 클래스 속성의 값이 유효하지 않습니다.

수업 시간은 the org.mypackage.power.MyPow입니다. 업데이트하기 전에 그것은 단순한 안녕하세요. 올바르게 작동하고있었습니다. 하지만 클래스를 변경하고 새로운 필드를 추가하고 JSP 페이지를 변경했습니다. 누구든지 제발 도와 주실 수 있습니까?

내가 톰캣 7.0.14 및 넷빈즈 7.01를 사용하고는

답변

5

이 오류는 기본적으로

MyPow powerBean = new MyPow(); 

이 실패했음을 의미합니다.

콩에는 public 생성자가 있어야합니다. 그래서, 액세스 빈의 생성자를 호출 할 수 있습니다 public 생성자

public MyPow() { 
    // ... 
} 

이 방법 (다른 패키지 자체입니다) JSP에 패키지 - 개인 생성자

MyPow() { 
    // ... 
} 

을 변경합니다.

1

Tomcat을 다시 시작하면됩니다. 이렇게하면 문제가 해결됩니다. 쉬운 방법, 톰캣 루트 디렉토리 (Mac 또는 리눅스) :

$ ./bin/shutdown.sh

$ ./bin/startup.sh

윈도우에서는이 함께해야합니다. 박쥐 파일은 ...

0
public User() { 
    super(); 
} 

기본 생성자를 추가 한 후, 그것은 오류

없이 잘 작동
관련 문제