当一个表单里面元素很多的时候,我想用javabean来保存它的数据,就是说页面<s:textfield name="user.name"/>,然后action 中直接private User user.
问:1.是不是为每个用户都实例一个bean,我知道请求过来,便会new一个action来处理,就是不太清楚这个bean的生成和范围。
2.我的验证输入主要放在客户端,用js验证,action里面只简单的验证是否为空,请问如果把它单独放在bean里面该怎么取验证,难道要再action中if(user.username==null)...这样验证么?对javabean实在不了解,哈哈,所以大家知道的就说哈,链接也可以

解决方案 »

  1.   

    有个validate方法 就是struts2的验证
      

  2.   

    if(user.username.equals(null) || user.username.trim.equals("")){
    this.addFieldError("user.username", "用户名不能为空");
                return INPUT;
    }或者用validate方式验证
      

  3.   

    JavaBean是什么
    简单地说,JavaBean是用Java语言描述的软件组件模型,其实际上是一个类。这些类遵循一个接口格式,以便于使函数命名、底层行为以及继承或实现的行为,可以把类看作标准的JavaBean组件进行构造和应用。JavaBean一般分为可视化组件和非可视化组件两种。可视化组件可以是简单的GUI元素,如按钮或文本框,也可以是复杂的,如报表组件;非可视化组件没有GUI表现形式,用于封装业务逻辑、数据库操作等。其最大的优点在于可以实现代码的可重用性。JavaBean又同时具有以下特性。     易于维护、使用、编写。     可实现代码的重用性。     可移植性强,但仅限于Java工作平台。     便于传输,不限于本地还是网络。     可以以其他部件的模式进行工作。对于有过其他语言编程经验的读者,可以将其看作类似微软的ActiveX的编程组件。但是区别在于JavaBean是跨平台的,而ActiveX组件则仅局限于Windows系统。总之,JavaBean比较适合于那些需要跨平台的、并具有可视化操作和定制特性的软件组件。在程序设计的过程中,JavaBean不是独立的。为了能够更好地封装事务逻辑、数据库操作而便于实现业务逻辑和前台程序的分离,操作的过程往往是先开发需要的JavaBean,再在适当的时候进行调用。但一个完整有效的JavaBean必然会包含一个属性,伴随若干个get/set(只读/只写)函数的变量来设计和运行的。JavaBean作为一个特殊的类,具有自己独有的特性。应该注意以下3个方面。     JavaBean类必须有一个没有参数的构造函数。     JavaBean类所有的属性最好定义为私有的。     JavaBean类中定义函数setXxx() 和getXxx()来对属性进行操作。其中Xxx是首字母大写的私有变量名称。这是在网上摘的,楼主参考一下javaBean在实际开发中还是比较常用的,所以建议楼主学习一下,也比较简单
      

  4.   

    如果这样if(null.equals(user.username) || "".equals(user.username.tirm())) 更好吧.hjhe
      

  5.   

    1.如果用javabean来保存数据要用到模型驱动稍繁琐一些,每个用户都实例一个bean
    2.可以通过继承ActionSupport类重写validate或者validateXXX方法来做验证