TERASOLUNA学习笔记

本文是一篇关于TERASOLUNA的学习笔记,涵盖了Transaction管理、数据库操作、Util类、Message管理和国际化、登录状态检查、禁止特定文件访问、Session同步、增强版Form、CodeList、例外处理、文件上传下载以及DispatchAction等内容。通过实例讲解了Terasoluna在实际项目中的应用。
摘要由CSDN通过智能技术生成
下面的项目可能要用到TERASOLUNA。
为了逼自己每天都能学习点东西,特此写这个博客记录学习结果。
虽然可能性很大,但还是希望不要半途而废。
PS:Spring没学过。

[b]【Transaction管理功能】[/b]
下例为对于以execute开头的方法,进行Transaction管理。

<!-- DataSourceの設定。 -->
<bean id="dataSource" class="……">……</bean>

<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>

<!-- 単一のJDBCデータソース向けのトランザクションマネージャ。 -->
<tx:advice id="transactionInterceptor" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="execute*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
</tx:attributes>
</tx:advice>

<!-- AOPの設定 -->
<aop:config>
<aop:pointcut id="blogicBeans" expression="bean(*BLogic)"/>
<aop:pointcut id="serviceBeans" expression="bean(*Service)"/>
<aop:advisor
pointcut-ref="blogicBeans"
advice-ref="transactionInterceptor"/>
<aop:advisor
pointcut-ref="serviceBeans"
advice-ref="transactionInterceptor"/>
</aop:config>


上面的例子是发生例外时,进行rollback。
但有时不想抛出例外,仅仅想rollback的话可以这样写。


if(有业务错误){
//仅仅想rollback
TransactionUtil.setRollbackOnly();
}


[b]【数据库操作】[/b]
SQL的定义等配置和iBATIS一样。
Terasoluna的QueryDAOiBatisImpl提供了以下的方法。
executeForObject (String sqlID, Object bindParams, Class clazz)
executeForObjectArray(String sqlID, Object bindParams, Class clazz)
executeForObjectArray(String sqlID, Object bindParams, Class clazz, int
beginIndex, int maxCount)

executeForObjectList(String sqlID, Object bindParams)
executeForObjectList(String sqlID, Object bindParams, int beginIndex, int
maxCount)

[b]【Util类】[/b]
Terasoluna提供以下Util类
ClassUtil:通过指定的Class名和参数生成object。
DateUtil:日期,时间和日历相关的共同方法。 例如:日本的暦元号相关的方法。
PropertyUtil:操作Property文件的类。
StringUtil:操作String的类。
例如:
1)取文件名的扩展名 (为什么这个不是FileUtil的内容。。。)
2)byte数组 转换成16进制的String
3)日文全半角转换
4)html的escape < & > ¥" → < & > "
5)指定encode,取得String的byte长度


[b]【Message管理和国际化】[/b]


[b]【登录状态检查】[/b]
貌似终于来了一个实用点的功能。
web.xml的配置

<web-app>
<filter>
……
<filter-name>authenticationControlFilter</filter-name>
<filter-class>
jp.terasoluna.fw.web.thin.AuthenticationControlFilter
</filter-class>
<init-param>
<param-name>controller</param-name>
<param-value>
sampleAuthenticationController
</param-value>
</init-param>
</filter>
……
<filter-mapping>
<filter-name>authenticationControlFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
……
<error-page>
<exception-type>
jp.terasoluna.fw.web.thin.UnauthenticatedException
</exception-type>
<location>/authenticatedError.jsp</location>
</error-page>
……


Bean的定义。

……
<bean id="sampleAuthenticationController"
class="jp.sample.SampleAuthenticationController"/>
……


AuthenticationController的例子

package jp.terasoluna.sample;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值