을 제거하는 방법 파일의 접미사/확장자(.jsp 다.작업)을 이용하여 스트라이프 Framework?

StackOverflow https://stackoverflow.com/questions/2270234

  •  20-09-2019
  •  | 
  •  

문제

내가 찾는 사용하는 꽤/깨끗한 URL 내 웹 응용 프로그램입니다.

나는 다음과 같은 URL:

http://mydomain.com/myapp/calculator

..를 해결하기:

com.mydomain.myapp.action.CalculatorActionBean

나를 덮어쓰 NameBasedActionResolver 과:

public class CustomActionResolver extends NameBasedActionResolver {
    public static final String DEFAULT_BINDING_SUFFIX = ".";

    @Override
    protected String getBindingSuffix() {
        return DEFAULT_BINDING_SUFFIX;
    }

    @Override
    protected List<String> getActionBeanSuffixes() {
        List<String> suffixes = new ArrayList<String>(super.getActionBeanSuffixes());
        suffixes.add(DEFAULT_BINDING_SUFFIX);
        return suffixes;
    }
}

추가 이하 web.xml:

<servlet-mapping>
    <servlet-name>StripesDispatcher</servlet-name>
    <url-pattern>*.</url-pattern>
</servlet-mapping>

가을:

http://mydomain.com/myapp/Calculator.

그러나:

  1. 길 잃은"."아직도 꽤도 깨끗합니다.
  2. 클래스 이름은 아직도 대문자로 URL 에서..?
  3. 는 아직도 나를 *.jsp..?그것도 가능한 제거하는 모두의 .action.jsp?
도움이 되었습니까?

해결책

나는 당신을 찾고 있@URLBinding 주석이 있습니다.보 @URLBinding 에서 당신의 빈입니다.

@UrlBinding("/calculator")

다른 팁

도 같은 일을 하고,동일한 질문을했다,하지만 내가 원하는 나의 URL 을 사용막에 슬래쉬가 http://mydomain.com/myapp/calculator/

대답은 사용하@UrlBinding 및 DynamicMappingFilter

나는 수정의 예가 있:

@UrlBinding("/calculator/")
public class CalculatorActionBean implements ActionBean {
  .
  .
  .
return new ForwardResolution("/WEB-INF/view/calculator.jsp");

다음을 추가했 DMF web.xml:

<filter>
    <display-name>Stripes Dynamic Mapping Filter</display-name>
    <filter-name>DynamicMappingFilter</filter-name>
    <filter-class>net.sourceforge.stripes.controller.DynamicMappingFilter</filter-class>
    <init-param>
        <param-name>ActionResolver.Packages</param-name>
        <param-value>com.example.stripes</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>DynamicMappingFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
</filter-mapping>

이제 깨끗한 URL 예상대로 작동하고 나가지로 리디렉션합니다.작업 URL 후 상호 작용으로 형태입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top