을 제거하는 방법 파일의 접미사/확장자(.jsp 다.작업)을 이용하여 스트라이프 Framework?
문제
내가 찾는 사용하는 꽤/깨끗한 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.
그러나:
- 길 잃은"."아직도 꽤도 깨끗합니다.
- 클래스 이름은 아직도 대문자로 URL 에서..?
- 는 아직도 나를
*.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 후 상호 작용으로 형태입니다.
제휴하지 않습니다 StackOverflow