`
wudiju
  • 浏览: 30646 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

coldfusion调用java对象(Using Java Object In ColdFusion )

阅读更多

开始有点喜欢coldfusion了,它能调用java object,让我感觉很熟悉,呵呵。结合各种资源和自己的理解写了个小demo用以记录自己的学习历程。

 

coldfusion的安装配置这里就不再赘述了,直接从代码说起。

 

首先,先建好java类,很爽,好久没new class文件了

public class Wudiju {
	
	private String FirstName;
	
	private String LastName;
	
	private int age;
	
	private String sex;
	
	public Wudiju() {
		super();
	}

	public Wudiju(String firstName, String lastName, int age, String sex) {
		super();
		FirstName = firstName;
		LastName = lastName;
		this.age = age;
		this.sex = sex;
	}

	public String getFirstName() {
		return FirstName;
	}

	public void setFirstName(String firstName) {
		FirstName = firstName;
	}

	public String getLastName() {
		return LastName;
	}

	public void setLastName(String lastName) {
		LastName = lastName;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}
	
	//计算日薪
	public double getDaySalary(double money){
		return (double)money/20;
	}
	
	//计算年薪
	public double getYearSalary(double monthSalary){
		return (double)monthSalary * 12;
		
	}
	
	//重载计算年薪方法,假如公司给我发14个月的money,嘿嘿
	public double getYearSalary(int monthSalary){
		return (double)monthSalary * 14;
		
	}

}

 

接着写cfm文件

<!---创建一个Wudiju的实例,wudiju是我们的实例变量,createObject就是我们用来创建JAVA对象的方法,
	 如果要创建JAVA或者EJB对象,第一个参数必须是java,第二个参数就是要创建的那个JAVA类
--->
<cfset wudiju = createObject("java","Wudiju")>
<!---这里coldfusion用init()来调用构造函数初始化对象,可以带参数,如果不写coldfusion会调用默认的构造构造函数,跟java一样--->
<!---<cfset wudiju.init()>--->

<!---对象实例化好后,就可以对它进行操作了,可以调用get和set方法--->
<cfset wudiju.setFirstName("Sun")>
<cfset wudiju.setLastName("Mike")>
<cfset wudiju.setAge(22)>
<cfset wudiju.setSex("male")>
<cfset firstname = wudiju.FirstName>
<cfset lastname = wudiju.LastName>
<cfset age = wudiju.age>
<cfset sex = wudiju.sex>
<cfoutput>
	Wudiju's English name is #firstname# #lastname# ,age is #age# , sex is #sex#.
	<!---输出结果:Wudiju's English name is Sun Mike ,age is 22 , sex is male. --->
</cfoutput>
<br/>
<!---调用计算日薪方法--->
<cfset result = wudiju.getDaySalary(200000)><!---一个月200000,我想钱想疯了--->
<cfoutput>
	日薪为:$#result#
</cfoutput>
<!---输出结果:日薪为:$10000 --->
<br/>
<!---调用重载方法,由于java是强类型語言,而CF是弱類型的,如果直接調用一個重載方法,coldfusion不能確定調用哪個,這時我們需要使用javaCast
	 來指定我們要調用的方法的参数类型
--->
<!---我們來調用14個月年薪的方法,haha--->
<cfset money = wudiju.getYearSalary(javaCast("int",200000))><!---This is one of my dreams.--->
<cfoutput>	
	Wudiju 14个月的工资为:$#money#.
</cfoutput>
<!---输出结果:Wudiju 14个月的工资为:$2800000.--->

 

对了,别忘了把编译好的class文件放在一个目录下,并在administrator->Server Settings->Java and JVM写好classpath.

 

Ok了。

 

可以在这看看调用流程:http://www.bennadel.com/blog/737-How-ColdFusion-CreateObject-Really-Works-With-Java-Objects.htm

1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics