2014-04-06 9 views
1

저는 Struts2 웹 응용 프로그램을 사용하고 있습니다. 모든 것이 잘 돌아갔습니다. 모든 작업이 제대로 매핑되고 응용 프로그램이 페이지로 올바르게 리디렉션됩니다. 그러나이 특정 모듈 (파일 업로드 관련)에 대해 SAME을 수행하면 오류가 발생합니다. 나는 무엇이 잘못되었는지 이해하지 못하고 "/"과 모두의 다양한 콤보를 시도했지만 여전히 페이지를 재 지정할 수는 없습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?404 네임 스페이스 오류에 대해 매핑 된 동작이 없습니다.

struts.xml :

<?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"> 
    --> 
    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" 
    "http://struts.apache.org/dtds/struts-2.1.dtd"> 


<struts> 
    <constant name="struts.enable.DynamicMethodInvocation" 
     value="false" /> 
    <constant name="struts.devMode" value="false" /> 
    <constant name="struts.custom.i18n.resources" 
     value="ApplicationResources" /> 

    <package name="default" extends="struts-default" namespace=""> 
     <action name="login" class="com.proconsulto.action.LoginAction" method="execute"> 
      <result name="success">/Dashboard.jsp</result> 
      <result name="failure">/SignIn.jsp</result> 
      </action> 

      <action name="signup" class="com.proconsulto.action.UserAction" method="addUser"> 
      <result name="success">/Dashboard.jsp</result> 
      <result name="failure">/SignIn.jsp</result> 
      </action> 

      <action name="logout" class="com.proconsulto.action.LoginAction" method="logout"> 
      <result name="success">/SignIn.jsp</result> 
      </action> 

      <action name="placerequest" class="com.proconsulto.action.PlaceRequestAction" method="placeRequest"> 
      <result name="success">/Success.jsp</result> 
      </action> 

    </package> 
</struts> 

그리고 리디렉션 할 위치에서 양식 :

<s:form theme="simple" action="placerequest.action" enctype="multipart/form-data" method="post"> 
      <ul style="list-style-type:none;"> 
      <li class="field"><p id="qaz">Headline : <br/><s:textfield style="width:550px;align:center;display:inline;" name="headline" cssClass="text input"></s:textfield></li> 
      <li class="field"><p id="qaz">Description :<br/> <s:textarea style="width:550px;display:inline;align:center;" name="description" cssClass="textarea input"></s:textarea></li> 
      <li class="field"><p id="qaz">File Upload (if any) :<br/> <s:file style="height:auto;width:550px;display:inline;align:center;" name="userImage" cssClass="text input" /></li> 
      <div class="medium default btn"><s:submit value="Proceed"/></div>&nbsp;&nbsp; 
      <div class="medium default btn"><s:reset value="Reset"/></div> 

placerequest은 매핑되지 않습니다 작업입니다!

도와주세요.

의 완전한 오류 메시지 :

유형 상태 보고서

메시지가 네임 스페이스 매핑 된 액션이 없다 [/]와 액션 이름 [placerequest] 컨텍스트 경로와 연관된 [/ ProConsulto].

설명 요청 된 리소스 (네임 스페이스 [/]에 매핑 된 작업이없고 컨텍스트 경로 [/ ProConsulto]와 연결된 작업 이름 [placerequest])을 사용할 수 없습니다.

답변

1

namespace="/"과 같은 네임 스페이스를 패키지에 추가해야합니다. 당신이 namespace=""을 고수 할 경우하지만 당신은 형태를 지정하기 위해 시도 할 수 있습니다 (즉, 문제 및/또는 무인 결과를 만들 수) :

<s:form action="placerequest.action" namespace="" ... > 

또한, 단지 테스트 목적으로, 프로젝트 Struts2 Config Browser plugin을에 포함 액션이 매핑되는 방법을 보려면 (왼쪽 메뉴로 찾아보기).

enter image description here

생산 해제 전에 제거해야 )