Spring ViewResolver问题

时间:2011-03-14 09:53:09

标签: java spring-mvc

我的应用程序运行正常,直到我在其中添加org.springframework.web.servlet.view.InternalResourceViewResolver。它给出了错误:

  

javax.servlet.ServletException:无法在名为“cusbilman”的servlet中解析名为“/jsp/cusbilman/main/billportmain.jsp”的视图

我认为这打破了默认的重定向方法:

有什么想法吗?


更新

代码:

<bean id="htmlViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/cusbilman/resources/static/"/>
        <property name="suffix" value=".html"/>
        <property name="viewNames">
            <list>
                <value>html1</value>
            </list>
        </property>
    </bean>

旧bean定义:

<bean id="billingPortalMainController" class="com.tt.cusman.cusbilman.main.view.BillingPortalMainController" >
<property name="commandName"><value>dummy</value></property>            
<property name="commandClass"><value>com.tt.cusman.cusbilman.main.view.command.DummyObject</value></property>   
<property name="sessionForm"><value>false</value></property>
<property name="formView"><value>/jsp/cusbilman/main/billportmain.jsp</value></property>
<property name="successView"><value>/jsp/cusbilman/main/billportmain.jsp</value></property>
<property name="searchView"><value>/../cusinfman/search/search.html</value></property>
<property name="postPaidHome"><value>/cusbilman/cusbilman/invoices.html?page=new</value></property>
<property name="prePaidHome"><value>/cusbilman/cusbilman/prepaid/main.html?page=new</value></property>
<property name="emptyForm"><value>/cusbilman/jsp/cusbilman/main/emptyForm.jsp</value></property>
<property name="cusbilmanMainQdbDao" ref="cusbilmanMainQdbDao" />

感谢您的回复

1 个答案:

答案 0 :(得分:1)

视图解析器会将自己的prefixsuffix属性与您从控制器返回的名称组合在一起。

在这种情况下,它将使用

"/cusbilman/resources/static/" + "/jsp/cusbilman/main/billportmain.jsp" + ".html"

因此将尝试在名为

的webapp基目录中查找文件
/cusbilman/resources/static//jsp/cusbilman/main/billportmain.jsp.html

对我来说看起来很严重。

您需要整理视图解析器前缀和JSP路径。