Bli*_*1eg 5 java spring spring-mvc
我正在使用Spring 3,我不知道如何在没有控制器的情况下将somepage.htm映射到somepage.jsp.那就是:如果我去somepage.htm,我希望它能告诉我jsp.但当然没有重定向.我不希望任何人只看到".jsp"".htm"
<servlet>
<servlet-name>Training01</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Training01</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/jsp/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
Run Code Online (Sandbox Code Playgroud)
要做的是将<mvc:view-controller..>标记与视图解析器结合使用.
有关更多文档, 请参见此处
该<mvc:view-controller..>标签将URL映射到的意见.因此,如果您想将相对URL映射/login到视图名称登录,您可以通过将以下行添加到您的webmvc-context.xml文件来实现:
<mvc:view-controller path="/login" view-name="login" />
Run Code Online (Sandbox Code Playgroud)
当然,要使其工作,您必须有一个视图解析 - 将逻辑名称映射到特定视图的东西 - 在您的上下文中设置.在您的情况下,因为您使用直接jsps查看图层,所以您需要在配置中添加以下内容:
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
所以使用这个设置,如果你的目录中有一个jsp login.jsp,/WEB-INF/jsp那么你就可以从url直接引用那个jsp了www.myapp.com/mycontenxtroot/login
有关视图解析器的更多信息,请参见此处:
| 归档时间: |
|
| 查看次数: |
3974 次 |
| 最近记录: |