配置文档
xxx-servlet.xml<context:annotation-config/>
<context:component-scan base-package="com.xxx.yy.*"/><bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="mediaTypes">
<map>
<entry key="xml" value="application/xml"/>
<entry key="html" value="text/html"/>
</map>
</property>
<property name="viewResolvers">
<list>
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver"/>
<bean 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>
</list>
</property>
</bean>
 
    <bean id="articleXmlView" class="org.springframework.web.servlet.view.xml.MarshallingView">  
       <constructor-arg>  
           <bean class="org.springframework.oxm.xstream.XStreamMarshaller">  
               <property name="autodetectAnnotations" value="true"/>  
           </bean>  
       </constructor-arg>  
    </bean>  
web.xml <servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/images/*</url-pattern>
</servlet-mapping> <servlet-mapping>
<servlet-name>xxx</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Controller@Controller
public class UserController {
@RequestMapping(value = "/user/{userId}", method = RequestMethod.GET)
public ModelAndView getUser(@PathVariable String userId) {
Map model = new HashMap();
model.put("user", this.userManager.getUser(userId));
model.put("testm", "test model");
System.out.println("get user by id ...");
return new ModelAndView("User",model);
}
}
User.jsp<table border="1" width="100%" cellspacing="1" cellpadding="1">
<tr>
<td>User Id</td>
<td>User Name</td>
<td>Is Enabled</td>
</tr>
<tr>
<td>
<c:out value="${user.userId}"/>
</td>
<td>2</td>
<td><c:out value="${testm}"/></td>
访问http://Ip:8080/project-name/user/admin.html
时能够访问到User.jsp,但是${user.userId}和${testm}都取不到值,这是为什么?log
2010-12-14 10:33:10,126 DEBUG [org.springframework.jdbc.datasource.DataSourceUtils] - <Returning JDBC Connection to DataSource>
get user by id ...
2010-12-14 10:33:10,129 DEBUG [org.springframework.web.servlet.view.ContentNegotiatingViewResolver] - <Requested media type is 'text/html' (based on filename 'admin.html')>
2010-12-14 10:33:10,131 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] - <Invoking afterPropertiesSet() on bean with name 'User'>
2010-12-14 10:33:10,131 DEBUG [org.springframework.web.servlet.view.ContentNegotiatingViewResolver] - <Returning [org.springframework.web.servlet.view.JstlView: name 'User'; URL [/WEB-INF/jsp/User.jsp]] based on requested media type 'text/html'>
2010-12-14 10:33:10,131 DEBUG [org.springframework.web.servlet.DispatcherServlet] - <Rendering view [org.springframework.web.servlet.view.JstlView: name 'User'; URL [/WEB-INF/jsp/User.jsp]] in DispatcherServlet with name 'sso'>
2010-12-14 10:33:10,131 DEBUG [org.springframework.web.servlet.view.JstlView] - <Added model object 'org.springframework.validation.BindingResult.user' of type [com.xxx.xxx.domain.entity.User] to request in view with name 'User'>
2010-12-14 10:33:10,131 DEBUG [org.springframework.web.servlet.view.JstlView] - <Added model object 'user' of type [com.xxx.xxx.domain.entity.User] to request in view with name 'User'>
2010-12-14 10:33:10,131 DEBUG [org.springframework.web.servlet.view.JstlView] - <Added model object 'testm' of type [java.lang.String] to request in view with name 'User'>
2010-12-14 10:33:10,145 DEBUG [org.springframework.web.servlet.view.JstlView] - <Forwarding to resource [/WEB-INF/jsp/User.jsp] in InternalResourceView 'User'>
2010-12-14 10:33:10,151 DEBUG [org.springframework.web.servlet.DispatcherServlet] - <Successfully completed request>

解决方案 »

  1.   

    兄弟,你写错了,应该是${user.user}和${user.testm}才对
      

  2.   

    不对,应该是这样的
    return new ModelAndView("User","user",model);
    再加上上面我说的应该就可以了
      

  3.   

    web.xml
     
    <servlet-mapping> 
    <servlet-name>default </servlet-name> 
    <url-pattern>*.jsp </url-pattern> 
    </servlet-mapping> 
    额,是我配置的问题,把上面这个去掉就可以了。
      

  4.   

    web.xml
     
    <servlet-mapping> 
    <servlet-name>default </servlet-name> 
    <url-pattern>*.jsp </url-pattern> 
    </servlet-mapping> 
    额,是我配置的问题,把上面这个去掉就可以了。