줄무늬 액션 콩에 문제가 있습니다. 브라우저에 처음 http://localhost:9080/profesionales-sanitarios-war/medicos/publico/accesoInterno 소개줄무늬 주석 @UrlBinding이 올바르게 작동하지 않습니다. 302 상태 코드
는가 200 상태 코드를 반환 미세 AccesoInternoActionBean가는 작품, 302 상태 코드를 발생시키고
내가 브라우저에 http://localhost:9080/profesionales-sanitarios-war/medicos/publico/accesoInterno을 소개하는 두 번째 시간을 AccesoActionBean 리디렉션.
로컬 호스트와 서버 (개발, 시제품 및 제작)에서 모두 발생합니다.
AccesoActionBean.java :
@UrlBinding("/medicos/publico/acceso" + "/{tipoAcceso}/{destino}")
public class AccesoActionBean extends MedicosBaseActionBean {
[...]
@DontValidate
@DefaultHandler
public Resolution init() {
setSessionField(SESION_CONTADOR_ACCESOS, contadorAccesos);
if(tipoAcceso != null && "popup".equalsIgnoreCase(tipoAcceso)) {
return new ForwardResolution("/WEB-INF/pages/acceso/loginForm.jsp");
} else {
return new ForwardResolution(NavegacionConst.JSP_ACCESO);
}
}
[...]
}
AccesoInternoActionBean.java :
@UrlBinding("/medicos/publico/accesoInterno")
public class AccesoInternoActionBean extends MedicosBaseActionBean {
[...]
@DontValidate
@DefaultHandler
public Resolution init() {
setSessionField(SESION_CONTADOR, contadorAccesos);
return new ForwardResolution(NavegacionConst.JSP_ACCESO_INTERNO);
}
[...]
}
ActionBeans
올바르게 코딩 것 같다, 그들은 처음부터 올바른 행동 콩로 리디렉션 다른 유사하다. 검색을했는데 디버깅을했지만 대답을 찾을 수 없었습니다. 나는 그 문제는 일부 구성 파일이 web.xml에 같이 올 수 있다고 생각 :<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>${project.build.finalName}</display-name>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>es.sanitas.medicos.stripes.listeners.StartupListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:es/sanitas/medicos/applicationContext-profesionales.xml</param-value>
</context-param>
<context-param>
<param-name>oracle.adf.jsp.provider.5</param-name>
<param-value>oracle.stellent.wcm.javaee.shared.jsp.IdcJspProvider</param-value>
</context-param>
<context-param>
<description>Url del Servidor de Contenidos</description>
<param-name>manageSite</param-name>
<param-value>http://caliban01:8888/</param-value>
</context-param>
<filter>
<display-name>Stripes Filter</display-name>
<filter-name>StripesFilter</filter-name>
<filter-class>net.sourceforge.stripes.controller.StripesFilter
</filter-class>
<init-param>
<param-name>Extension.Packages</param-name>
<param-value>
es.sanitas.stripes.integrations.spring,
net.sourceforge.stripes.integration.spring,
es.sanitas.stripes.i18n
</param-value>
</init-param>
<init-param>
<param-name>ActionResolver.Packages</param-name>
<param-value>
es.sanitas.medicos.stripes.actionbeans,
es.sanitas.medicos.blua.stripes.actionbeans,
es.sanitas.stripes.actionbeans.captcha,
es.sanitas.medicopersonalprofesionales.stripes
</param-value>
</init-param>
<init-param>
<param-name>ExceptionHandler.Class</param-name>
<param-value>es.sanitas.medicos.stripes.handlers.MedicosExceptionHandler</param-value>
</init-param>
<init-param>
<param-name>Interceptor.Classes</param-name>
<param-value>
es.sanitas.medicos.stripes.interceptors.IsLoggedInterceptor,
es.sanitas.stripes.interceptors.AuditBaseInterceptor
</param-value>
</init-param>
<init-param>
<param-name>LocalePicker.Locales</param-name>
<param-value>es_ES:UTF-8,ca_ES:UTF-8,en:UTF-8</param-value>
</init-param>
<init-param>
<param-name>ResourceBundles.BaseNames</param-name>
<param-value>
es.sanitas.medicos.stripesErrors,
es.sanitas.medicos.stripesMessages
</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>StripesFilter</filter-name>
<servlet-name>StripesDispatcher</servlet-name>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>REQUEST</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
<servlet>
<servlet-name>StripesDispatcher</servlet-name>
<servlet-class>net.sourceforge.stripes.controller.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>StripesDispatcher</servlet-name>
<url-pattern>/captcha/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>StripesDispatcher</servlet-name>
<url-pattern>/medicos/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>StripesDispatcher</servlet-name>
<url-pattern>/medicopersonalprofesionales/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>/startProfesionalesSanitarios.jspx</welcome-file>
</welcome-file-list>
<mime-mapping>
<extension>js</extension>
<mime-type>application/x-javascript</mime-type>
</mime-mapping>
<mime-mapping>
<extension>css</extension>
<mime-type>text/css</mime-type>
</mime-mapping>
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<scripting-invalid>true</scripting-invalid>
</jsp-property-group>
<jsp-property-group>
<url-pattern>*.jspf</url-pattern>
<scripting-invalid>true</scripting-invalid>
</jsp-property-group>
<jsp-property-group>
<url-pattern>*.jspx</url-pattern>
<scripting-invalid>false</scripting-invalid>
<is-xml>true</is-xml>
</jsp-property-group>
<jsp-property-group>
<url-pattern>*.tagx</url-pattern>
<scripting-invalid>true</scripting-invalid>
</jsp-property-group>
</jsp-config>
<error-page>
<error-code>500</error-code>
<location>/medicos/error</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/medicos/inicio</location>
</error-page>
</web-app>
내가 솔루션을 찾고,하지만 내 글이 전혀없는 경우 내가 사과하고 싶은
을 찾을 수 없습니다 제 모국어가 영어가 아니기 때문에 정확합니다.
@UrlBinding 설명서에 따르면 올바른 매개 변수 구문은 다음과 같습니다. 매개 변수 이름을 중괄호 ({})로 삽입하여 매개 변수를 URL에 포함 할 수 있습니다 (예 : @UrlBinding ("/ foo/{bar}/{baz} ")}는"/ foo "에 작업을 매핑하고"bar "및"baz "매개 변수가 URL에 포함될 수 있음을 나타냅니다.이 경우 URL/foo/abc/123은 작업을 호출합니다 bar는 "abc"로 설정하고 baz는 "123"으로 설정합니다. 매개 변수 사이의 리터럴 문자열은 임의의 문자열이 될 수 있습니다. " –
실례합니다. 브라우저에 ** **/medicos/public/accesoInterno ** URL을 입력하면 응용 프로그램이 ** 302 상태 **를 반환하고 **/...로 리디렉션됩니다. medicos/publico/acceso **. ** .../medicos/public/accesoInterno **를 다시 입력하면 ** 200 상태 **와 ** .../medicos/publico/accesoInterno **의 올바른 페이지가 반환됩니다.방금 슬래시없이 테스트했는데 응용 프로그램이 같은 방식으로 진행됩니다. –
죄송합니다. 귀하가 두 행동 빈을 함께 사용하고 있다는 것을 깨닫지 못했습니다. 나는 두 번째 것이 첫 번째 것의 대안이라고 생각했다. JSP_ACCESO_INTERNO 변수에 정확히 무엇이 있습니까? – acdhirr