Spring MVC-如何解决视图?

时间:2013-02-10 21:07:08

标签: jsp spring-mvc

我是Spring的新手,我正在开发一个虚拟银行交易项目。到目前为止,我已经创建了一个欢迎页面,将我链接到我可以执行存款或取消交易的页面。数据库和一切正常。而且,我有一个表格,显示有4个属性(id,name,acctNo,balance)的客户列表。 id链接到下一页,我只想显示有关此客户的信息。我怎样才能做到这一点。

Dispatcher-Servlet.xml是:

<?xml version="1.0" encoding="UTF-8"?>
<beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" 
    xmlns:p="http://www.springframework.org/schema/p">      
     <bean id="viewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">

        <property name="prefix">
            <value>/WEB-INF/jsp/</value>
        </property>
        <property name="suffix">
            <value>.jsp</value>
        </property>
    </bean>
    <bean id="urlMapping"
        class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="interceptors">
            <list>
                <ref local="localeChangeInterceptor"/>
            </list>
        </property>
        <property name="urlMap">
            <map>              
                <entry key="/login.html">
                    <ref bean="userloginController"/>
                </entry>
            </map>          
        </property>             
    </bean>


   <!-- I tried adding this bean but noe luck, not sure where to use this id to map this bean -->
     <bean id="showindividualCustomer" class="com.showCustomerController">s
        <property name="successView"> <value>ViewCustomer</value></property>
     </bean>

     <bean id="userloginController" class="com.UserLoginFormController">
        <property name="sessionForm"><value>false</value></property>
        <property name="commandName"><value>userLogin</value></property>
        <property name="commandClass"><value>com.UserLogin</value></property>
        <property name="formView"><value>userLogin</value></property>
        <property name="successView"><value>showCustomer</value></property>
    </bean>

    <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
        <property name="paramName" value="hl"/>
    </bean> 
    <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"/>      
</beans>

bean = showindividualcustomer的控制器是:

public class showCustomerController extends SimpleFormController{

    protected ModelAndView onSubmit(Object obj) throws ServletException{

        return new ModelAndView("ViewCustomer");//name of the jsp page inside WEB-INF/jsp
    }
}

谢谢!!!

1 个答案:

答案 0 :(得分:2)

我实际上建议充分利用spring 3,查看你的代码我假设你正在看一个spring 2教程。

使用弹簧2.5.6或弹簧3. *你可以这样做:

    @RequestMapping(value="/customer/{id}")
    public String showCustomerInformation(@PathVariable String id, HttpServletRequest request){
        //your logic to get the customer information and pass it on
        return "customerInformation";
    }

一些参考文献: http://tech-read.com/2011/10/31/spring-3-mvc-annotations/ http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/mvc.html#mvc-ann-requestparam

编辑: 将您的方法签名更改为:

onSubmit(HttpServletRequest request, Object command) throws ServletException

只需使用:

request.getParameter("id")
相关问题