2013-10-25 4 views
1
내가 미친 얻고

.. 내가 시간 이후 내 실수 검색하고 실행 호출하지.조치는 -() 메소드

나의 양식은 행동으로 않을 것입니다. 하지만 1000 번 확인했습니다. 모든 것은 바르게 쓰여졌습니다. 잘 모르겠다 ... 제발 도와주세요!

내 사랑하는 오류 메시지 :

HTTP 상태 404 - 행동 de.nordakademie.librarymgmt.action.CreatePubAction 정의 및 입력을

유형 상태 보고서

메시지 없음을 초래할 결과가 없습니다 작업에 대해 정의 된 결과 de.nordakademie.librarymgmt.action.CreatePubAction 및 결과 입력

설명 ion 요청한 리소스를 사용할 수 없습니다.

아파치 톰캣은 JSP 그게/7.0.42

. 폴더 JSP라는 createPublication.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<%@taglib uri="/struts-tags" prefix="s"%> 
<!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></title> 
</head> 
<body> 
    <h3>Fügen Sie eine neue Publikation hinzu</h3> 
    <s:form action="createPubAction"> 
     <s:textfield key="publication.title" /> 
     <%-- <s:textfield key="publication.author" /> --%> 
     <s:textfield key="publication.publisher" /> 
     <s:textfield key="publication.publishment" /> 
     <s:textfield key="publication.isbn" /> 
     <s:textfield key="publication.stock" /> 
     <s:if test="%{publicationtypes.isEmpty()}"> 
      keine Publikationstypen 
     </s:if> 
     <s:else> 
      <s:select Listkey="publication.type" list="publicationtypes.{type}" /> 
     </s:else> 

     <s:if test="%{keywords.isEmpty()}"> 
      keine Schlagwörter 
     </s:if> 
     <s:else> 
     <s:checkboxlist key="publication.keyword" label="Schlagworte" 
      name="keywordsL1" list="keywords.{name}" /> 
     </s:else> 
     <s:submit label="save" value="Speichern" /> 
    </s:form> 
</body> 
</html> 

Struts.xml newPublication이 페이지를 호출에서 나는 타일

<?xml version="1.0" encoding="UTF-8" ?> 

<!DOCTYPE tiles-definitions PUBLIC 
     "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN" 
     "http://tiles.apache.org/dtds/tiles-config_2_0.dtd"> 

    <tiles-definitions> 
     <definition name="main" template="/jsp/main.jsp"> 
      <put-attribute name="title" value="Dashboard"/> 
      <put-attribute name="menu" value="/jsp/menu.jsp"/> 
      <put-attribute name="header" value="/jsp/header.jsp"/> 
      <put-attribute name="content" value="/jsp/start.jsp"/> 
     </definition> 

     <definition name="dashboard" extends="main"> 
      <put-attribute name="title" value="Dashboard"/> 
      <put-attribute name="content" value="/jsp/start.jsp"/> 
     </definition> 

     <definition name="rental" extends="main"> 
      <put-attribute name="title" value="Verleihvorgänge"/> 
      <put-attribute name="content" value="/jsp/rental.jsp"/> 
     </definition> 

     <definition name="catalog" extends="main"> 
      <put-attribute name="title" value="Katalog"/> 
      <put-attribute name="content" value="/jsp/catalog.jsp"/> 
     </definition> 

     <definition name="createPublication" extends="main"> 
      <put-attribute name="title" value="Neue Publikation erstellen"/> 
      <put-attribute name="content" value="/jsp/createPublication.jsp"/> 
     </definition> 
    </tiles-definitions> 

과 마지막 파일 필요한 정보

<?xml version="1.0" encoding="UTF-8"?> 

<!DOCTYPE struts PUBLIC 
     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
     "http://struts.apache.org/dtds/struts-2.0.dtd"> 

<!-- mapping of global-results and global-exceptions --> 

<struts> 
    <constant name="struts.enable.DynamicMethodInvocation" value="false" /> 
    <constant name="struts.devMode" value="false" /> 

    <package name="default" extends="struts-default" namespace="/"> 
     <result-types> 
      <result-type name="tiles" 
       class="org.apache.struts2.views.tiles.TilesResult" /> 
     </result-types> 

     <default-action-ref name="Start" /> 

     <action name="Start"  class="de.nordakademie.librarymgmt.action.StartAction"> 
      <result type="tiles" name="success">main</result> 
     </action> 

     <action name="newPublication" 
      class="de.nordakademie.librarymgmt.action.NewPublication"> 
      <result type="tiles" name="success">createPublication</result> 
     </action> 

     <action name="createPubAction" 
      class="de.nordakademie.librarymgmt.action.CreatePubAction"> 
      <result type="tiles" name="success">catalog</result> 
     </action> 


     <action name="catalogAction" 
      class="de.nordakademie.librarymgmt.action.navi.CatalogAction"> 
      <result type="tiles" name="success">catalog</result> 
     </action> 

    </package> 
</struts> 

를 입력해야하는 경우 하지만 적어도 조치 :

package de.nordakademie.librarymgmt.action; 

import com.opensymphony.xwork2.ActionSupport; 

import de.nordakademie.librarymgmt.model.Publication; 
import de.nordakademie.librarymgmt.service.IPublicationService; 

public class CreatePubAction extends ActionSupport { 
    private static final long serialVersionUID = 1L; 
    private Publication publication; 
    private IPublicationService publicationService; 

    @Override 
    public String execute() throws Exception { 
     try{ 
      publicationService.savePublication(publication); 
      return SUCCESS; 
     } catch(Exception e){ 
      e.printStackTrace(); 
      return ERROR; 
     } 
    } 

    public Publication getPublication() { 
     return publication; 
    } 

    public void setPublication(Publication publication) { 
     this.publication = publication; 
    } 

    public IPublicationService getPublicationService() { 
     return publicationService; 
    } 

    public void setPublicationService(IPublicationService publicationService) { 
     this.publicationService = publicationService; 
    } 

} 
+0

struts.xml 파일의 당신의 createPubAction의 결과 유형은 무엇입니까? 어디로 가리 킵니까? –

+0

<결과 TYPE = "타일"NAME = "성공"> 탈 는이은 JSP 페이지이다. 네비게이션 – user2182326

+0

에서 호출하면 작동합니다. 그 struts.xml에서 호출하는 "이름"... 그리고 이름은 철자가 작고 클래스 패스에서 이름의 철자가 큰 것입니다;) – user2182326

답변

0

로그에 스택 추적이 표시됩니까?

나는 당신의 오류 응답이 호출되고 당신이 그것을 매핑하지 않아도 추측 벤처. 타일 ​​구성에서 ERROR 결과를 명시 적으로 정의해볼 수 있습니까?

내 초기 장 (매우 비슷한 문제를 처리하는 데에서) 느낌은 JSP 파일 중 하나가 타일 설정에서 맞춤법이 틀린 또는 웹 응용 프로그램에 포함되지 않은 중이었다. 나는 그것을 두 번 점검 할 것이다.

0
<action name="createPubAction" 
      class="de.nordakademie.librarymgmt.action.CreatePubAction"> 
      <result type="tiles" name="success">catalog</result> 
     </action> 

success 만 정의되어 있습니다. 오류 메시지는 input 결과가 반환되며 위에서 볼 수 있듯이 input 결과가 발생하면 수행 할 작업에 대한 정의가 없습니다.

빠른 수정 될 수 있습니다

<action name="createPubAction" 
      class="de.nordakademie.librarymgmt.action.CreatePubAction"> 
      <result type="tiles" name="success">catalog</result> 
      <result type="tiles" name="input">catalog</result> 
     </action> 
관련 문제