blent
blent
采纳率25%
2011-05-22 17:48 阅读 213
已采纳

初学 spring mvc,看见个例子不解.

[code="java"]package com.examp.ch23;

import Java.util.HashMap;

import Java.util.Map;

import org.apache.log4j.Logger;

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.mvc.SimpleFormController;

public class LoginController extends SimpleFormController{

//继承SimpleFormController类

private Logger logger = Logger.getLogger(this.getClass().getName());

private String viewPage;

protected ModelAndView onSubmit(Object command)

//在onSummit()方法中处理用户请求

throws Exception {

LoginBean loginbean = (LoginBean)command;

Map model = new HashMap();

model.put("userName", loginbean.getUserName());

//将loginbean中的userName存入model

ModelAndView mv = new ModelAndView(getViewPage(),model);

return mv;

}

public void setViewPage(String viewPage){ //
调用该方法给属性viewPage赋值

this.viewPage = viewPage;

}

public String getViewPage(){ //调用该方法获取viewPage属性

return this.viewPage;

}

} [/code]
控制器代码如上,不理解的地方:
1.[code="java"]protected ModelAndView onSubmit(Object command)[/code]
请问 onSubmit传入的是个什么对象
2.[code="java"]LoginBean loginbean = (LoginBean)command[/code]
这是创建一个loginbean实例吗,不理解

这个例子的出处:http://book.51cto.com/art/200909/154457.htm。
里面有这个的完整代码。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • 已采纳
    qianzhi008 qianzhi008 2011-05-25 08:54

    找Bean的问题应该是框架自己内部去实现的事情,就跟struts分发action一样,它怎么知道你要响应哪个action。这是交给servlet容器去分配的 :D

    点赞 评论 复制链接分享
  • qianzhi008 qianzhi008 2011-05-23 13:13

    其实当你提交表单的时候,后台就相应onSubmit方法,而该方法里面的参数就是你前台传过来的LoginBean对象。[code="java"]LoginBean loginbean = (LoginBean)command [/code]这句只不过是把传过来的command强制转换一下,可以调用该实体里面的方法而已。

    点赞 评论 复制链接分享
  • mavlarn mavlarn 2011-05-23 16:06

    onSubmit的参数是


    用户名:
    密码:

    里面的字段构成的LoginBean对象。
    LoginBean loginbean = (LoginBean)command
    这个就是把它转型成LoginBean。

    不知道这个是什么版本的spring,看着很古老的controller,建议学2.5以后的版本,最好是3.

    点赞 评论 复制链接分享
  • qianzhi008 qianzhi008 2011-05-24 09:07

    [code="java"]


    用户名:
    密码:

    [/code]struts2里面这样就能知道是哪个Bean了,不知道你前台代码怎么写的。贴出来。 :D

    点赞 评论 复制链接分享
  • iteye_16885 iteye_16885 2011-05-30 17:29

相关推荐