关于Struts2的前端页面绑定数据有些不解

J2EE 码拜 6年前 (2015-04-13) 372次浏览 0个评论
 

在一个action中,有这样几个方法

public String[] getGender(){
     return new String[]{“男”,“女”};
}

public String[] getHabbits(){
     return new String[]{“唱歌”,”跳舞”,”聊天”};
}

public String abc(){
    return “OK”;
}

经过在struts的一系列配置,访问时直接访问abc(),然后转发到我的注册页面,Regist.jsp,这样页面就可以绑定到数据。我想问的是,访问时只访问了abc方法,为什么注册页面的checkboxlist或者select就可以获得性别,爱好这些值????

关于Struts2的前端页面绑定数据有些不解
20分
你这三个方法 都叫做  属性, 
你只要访问 了 你的这个Action,就 能活去到这个类中所有的属性 ,因为Struts2中的属性是类级属性 
他跟Spring的是不一样的 
关于Struts2的前端页面绑定数据有些不解
引用 1 楼 qq_15654157 的回复:

你这三个方法 都叫做  属性, 
你只要访问 了 你的这个Action,就 能活去到这个类中所有的属性 ,因为Struts2中的属性是类级属性 
他跟Spring的是不一样的 

原来是这样啊,,学习了,那Spring是什么样的呢,还没接触过Spring呢。

关于Struts2的前端页面绑定数据有些不解
引用 2 楼 bbos1994 的回复:
Quote: 引用 1 楼 qq_15654157 的回复:

你这三个方法 都叫做  属性, 
你只要访问 了 你的这个Action,就 能活去到这个类中所有的属性 ,因为Struts2中的属性是类级属性 
他跟Spring的是不一样的 

原来是这样啊,,学习了,那Spring是什么样的呢,还没接触过Spring呢。

spring 是在配置文件里配置bean,每个bean都是单例模式的,整个程序的每个类只会new一个对象出来,
所以只要把这个项目部署到服务器上 ,,,因为是单例 ,不管是谁都是访问到单例的属性,当并发过多时就会存在线程安全问题 。
而struts2不一样 ,他的每个类都是原型模式。 每个人访问一次,就new一个对象,所以他不存在并发的线程安全问题。
当然 ,不管是spring还是struts都可以配置每个bean是单例还是原型。默认的是spring是单例,struts是原型

关于Struts2的前端页面绑定数据有些不解
引用 3 楼 qq_15654157 的回复:
Quote: 引用 2 楼 bbos1994 的回复:
Quote: 引用 1 楼 qq_15654157 的回复:

你这三个方法 都叫做  属性, 
你只要访问 了 你的这个Action,就 能活去到这个类中所有的属性 ,因为Struts2中的属性是类级属性 
他跟Spring的是不一样的 

原来是这样啊,,学习了,那Spring是什么样的呢,还没接触过Spring呢。

spring 是在配置文件里配置bean,每个bean都是单例模式的,整个程序的每个类只会new一个对象出来,
所以只要把这个项目部署到服务器上 ,,,因为是单例 ,不管是谁都是访问到单例的属性,当并发过多时就会存在线程安全问题 。
而struts2不一样 ,他的每个类都是原型模式。 每个人访问一次,就new一个对象,所以他不存在并发的线程安全问题。
当然 ,不管是spring还是struts都可以配置每个bean是单例还是原型。默认的是spring是单例,struts是原型

嗯嗯,回头得学习一下Spring。。。。那Struts2的类级属性,是只要执行一遍就可以了,还是只要想绑定数据都得先访问这个方法。像Servlet一样。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于Struts2的前端页面绑定数据有些不解
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!