SSH+Freemarker整合一(下)

来源:互联网 发布:不明觉厉网络语言 编辑:程序博客网 时间:2024/06/03 23:42



    博客分类: 
  • SSH整合
SSHfreemarkerJDBCMySQLHibernate
8、创建jdbc.properties连接mysql数据库 
test=HelloWorld 
jdbc.driverClassName=org.gjt.mm.mysql.Driver 
jdbc.url=jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=utf-8 
jdbc.username=root 
jdbc.password=111 
jdbc.dialect=org.hibernate.dialect.MySQLDialect 

9、创建applicationContext.xml 
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
<property name="locations"> 
<list> 
<value>classpath:jdbc.properties</value> 
</list> 
</property> 
</bean> 

<!-- DataSource --> 
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> 
<property name="driverClassName" value="${jdbc.driverClassName}"/>
    <property name="url" value="${jdbc.url}" /> 
    <property name="username" value="${jdbc.username}" /> 
    <property name="password" value="${jdbc.password}" /> 
</bean> 

<!-- SessionFactory --> 
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
<property name="dataSource" ref="dataSource"></property> 
<property name="mappingResources"> 
<list> 
<value>com/apache/mytest2/entity/Person.hbm.xml</value> 
</list> 
</property> 
   
<property name="hibernateProperties"> 
<props> 
<prop key="hibernate.dialect">${jdbc.dialect}</prop> 
<prop key="hibernate.hbm2ddl.auto">update</prop> 
</props> 
</property> 
</bean> 

<bean id="personDao" class="com.apache.mytest2.dao.PersonDaoImpl"> 
<property name="sessionFactory" ref="sessionFactory"></property> 
</bean> 

<bean id="personAction" class="com.apache.mytest2.struts.PersonAction"> 
<property name="personDao" ref="personDao"></property> 

</bean> 
10、创建success.ftl 
<h1>Hibernate success print</h1> 
    
    <h2>Person List</h2> 
<ul> 

<br/><p/> 
<#list list as person> 
编号:${person.id}<br/> 
姓名:${person.name}<br/> 
<#if person.id==1> 
你看我执行了IF语句了!!! 
${r"${person.id}"}<br/> 
${r"c:\foo\bar"}<br/> 
</#if><br/> 
</#list> 
<br/><#-- 
我自己的list集合:<br/> 
<#list ["spring","summer","sutumn","winter",[1..10]] as x> 
${x}<br/> 
</#list>--> 
散值列表:<br/> 
<#assign ages = {"Joe":23, "Fred":25} + {"Joe":30, "Julia":18}> 
- Joe is ${ages.Joe} 
- Fred is ${ages.Fred} 
- Julia is ${ages.Julia} 

<#assign person={"name":"jon","age":23,"sex":"girl"}> 
${person.name}<br/> 
${person.age}<br/> 
${person.sex}<br/> 

<br/> 
看我使用的int内置函数:<br/> 
${1.111?int}<br/> 
${(5/2)?int}<br/> 
HTML内建:<br/> 
${(person.name)?html}<br/> 
${(person.name)?cap_first}<br/> 
${(person.name)?lower_case}<br/> 
${(person.name)?upper_case}<br/> 
${(person.name)?trim}<br/> 

四:Interpolation<br/> 
两种用法:<br/> 
1 通用Interpolation:${r"${expr}"}<br/> 
2 数字Interpolation:${r"#{expr}"}或${r"#{expr; format}"}<br/> 

<#assign answer=42/> 
${answer}<br/> 
${answer?string}<br/> 
${answer?string.number}<br/> 
${answer?string.currency}<br/> 
${answer?string.percent}<br/> 

  4.2 插入日期值:根据缺省格式(由#setting指令设置)将表达式结果转换成文本输出;<br/> 
  可以使用内建函数string格式化单个Interpolation,下面是一个使用格式模式的例子:<br/> 
  ${nowdate?string("yyyy-MM-dd HH:mm:ss zzzz")}<br/> 
  ${nowdate?string("EE,MM dd , yy")}<br/> 
  ${nowdate?string("EEEE,MMMM dd,yyyy,hh:mm:ss,a '('zzzz')'")}<br/> 
  4.3插入boolean值:<br/> 
  <#assign foo=true/> 
  ${foo?string("yes","no")}<br/> 
数字Interpolation:<br/> 
<#assign x=2.45678/> 
<#assign y=5/> 
#{x;M2}<br/> 
#{y;M2}<br/> 
#{x;m1}<br/> 
#{y;m1}<br/> 
#{x;m1M2}<br/> 
#{y;m1M2}<br/> 
<h1> 
Freemarker设计指南4<br/></h1> 

<#macro greet> 
  <font size="+2">Hello World!</font> 
</#macro> 

<@greet/> 
<br/> 

<#macro greet person> 
<font size="+2">Hello ${person}</font> 
</#macro> 

<@greet person="wycrabbit"/> and 
<@greet person="myself"/> 
<br/> 
可以有多个参数:<br/> 
<#macro greet person color> 
<font size="+2" color="${color}">Hello ${person}</font> 
</#macro> 

<br/> 
<@greet person="wycrabbit" color="red"/> 
<br/> 
嵌套内容:<br/> 
<#macro border> 
<font size="+2" color="green"><#nested></font> 
</#macro> 

<@border>你看看我,这是我嵌套的内容!!嘿嘿!……</@border> 

<br/> 

<#macro repeat count> 
<#local z="test"/> 
<#list 1..count as x> 
${z}${count}/${x}:<#nested> 
</#list> 
</#macro> 

<@repeat count=3>z:${z?default("?")}  x:${x?default("?")} count:${count?default("?")}<br/></@repeat> 


</ul>