2013-05-10 7 views
1

에 콩을 찾을 수 없습니다 나는 다음과 같은 오류 얻을 :, 난 그냥 스트럿 1.3 응용 프로그램을 유지하기 위해 스트럿으로 모든 것을 설정하고 내 안녕하세요 세계 응용 프로그램을 배포 한 후 밖으로 시작하고 개미 범위

javax.servlet.ServletException: javax.servlet.jsp.JspException: Cannot find bean: "helloWorldForm" in any scope 
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:865) 
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:794) 
org.apache.jsp.HelloWorld_jsp._jspService(HelloWorld_jsp.java:75) 
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 

내 액션 클래스는 다음과 같습니다 :이 같은

package com.mkyong.common.action; 

import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import org.apache.struts.action.Action; 
import org.apache.struts.action.ActionForm; 
import org.apache.struts.action.ActionForward; 
import org.apache.struts.action.ActionMapping; 

import com.mkyong.common.form.HelloWorldForm; 

public class HelloWorldAction extends Action 
{ 

public ActionForward execute(ActionMapping mapping,ActionForm form, 
     HttpServletRequest request,HttpServletResponse response) throws Exception { 

    HelloWorldForm helloWorldForm = (HelloWorldForm) form; 
    helloWorldForm.setMessage("Hello World! Struts"); 

    return mapping.findForward("success"); 
} 


} 

내 폼 클래스 :

이런3210
package com.mkyong.common.form; 

import org.apache.struts.action.ActionForm; 

public class HelloWorldForm extends ActionForm{ 

    String message; 

    public String getMessage() { 
     return message; 
    } 

    public void setMessage(String message) { 
     this.message = message; 
    } 

    } 

스트럿-config.xml의이 같은

<form-beans> 
    <form-bean name="helloWorldForm" 
     type="com.mkyong.common.form.HelloWorldForm"/> 
</form-beans> 

<action-mappings> 
    <action path="/helloWorld" 
     type="com.mkyong.common.action.HelloWorldAction" 
     name="helloWorldForm"> 
     <forward name="success" path="/HelloWorld.jsp"/> 

    </action> 
</action-mappings> 

HelloWorld.jsp를 :

,
<html> 
<head> 
</head> 
<body> 
<h1><bean:write name="helloWorldForm" property="message" /> 
</h1> 
</body> 
</html> 

은 솔직히 그냥이에 구축하고 싶었지만 확실히이 작업을 가져올 수 없습니다 누군가가 올바른 방향으로 날 지점 수 있습니다 궁금.

도움과 조언을 크게 주시면 감사하겠습니다.

답변

0

그래, 나는 약간의 발길질 만 할 만하다. 내가 JSP 페이지에 액세스하려고하기 전에 작업을 완료하는 이유는 내가 왜 오류가있어.

http://localhost:8080/StrutsExample/HelloWorld.jsp 

으악 -_-

1

예 그의 페이지를 직접 호출하지 않는 이유 :

http://localhost:8080/StrutsExample/helloWorld.do 

나는 다음을 시도하고 있었다 다음과 같이 내가 URL을 액세스해야 JSP는 Action을 사용하여 Action 클래스에 액세스하려고 시도합니다. 이 예를 들어

"/helloworld.do"

을의 액션을 사용하여 액세스하려고 나중에 액세스하고 JSP 페이지에 변수가 당신이

그런 식으로 정의가 빈 이름을 사용하는 것이 인쇄 할 수 있습니다 문제가 해결 될 것입니다.

0

난 그냥 경로를 변경 = "/하여 HelloWorld" "H"로 경로처럼 = "/ HelloWorld.jsp를"/> 를 봐

<action path="/HelloWorld" 
     type="com.mkyong.common.action.HelloWorldAction" 
     name="helloWorldForm"> 
     <forward name="success" path="/HelloWorld.jsp"/> 
    </action> 
uppcase입니다