对于T5 中的IOC理解不多,只是按照例子照猫画虎。<o:p></o:p>
首先根据T5 文档中的说明,要加入配置信息,才能使用Hibernate,让T5能识别H的配置文件。
<v:shapetype id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" filled="f" stroked="f" coordsize="21600,21600" o:spt="75"> </v:shapetype>
<v:shapetype path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" filled="f" stroked="f" coordsize="21600,21600" o:spt="75"> </v:shapetype>
然后设定页面HTML和page类。<o:p></o:p>
从http://tapestry.apache.org/tapestry5/tapestry-core/guide/validation.html得到代码<o:p></o:p>
我将Logjin.java内容进行了部分修改<o:p></o:p>
<v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" o:extrusionok="f" gradientshapeok="t"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock>
T5 官方的文档中,<o:p></o:p>
@Inject
private UserAuthenticator _authenticator;<o:p></o:p>
我没有实现这个服务,只是把它实例化,同时加入了<o:p></o:p>
@Component(id = "userName")
private TextField _userNameField;<o:p></o:p>
来明显的标示用户不存在的错误显示<o:p></o:p>
然后启动jetty来跑以下<o:p></o:p>
提示如下错误:<o:p></o:p>
<o:lock aspectratio="t" v:ext="edit"></o:lock>
<o:lock aspectratio="t" v:ext="edit">表示没有事务,这时,我想到了把事物的开启放到过滤器中</o:lock>
<o:lock aspectratio="t" v:ext="edit"></o:lock>
<o:lock aspectratio="t" v:ext="edit"> </o:lock>
完成之后,基本完成。然后开始测试<o:p></o:p>
数据库中仅有一条记录,用户名1234567 密码11111<o:p></o:p>
这样,首先,以用户名123456来登录<o:p></o:p>
提示如下:
<o:p> </o:p>
<o:p></o:p>
然后,以1234567 ,密码12345来测试
然后,以1234567 和11111来测试
<o:p></o:p>
到此,测试完成,基本可以正常。<o:p></o:p>
---------------------------------------------------------------------------------------------------------------------------------------------------------------
但是,这样,我有一个问题:由于在AppMoudle里面,在配置事务过滤时,我加入了<o:p></o:p>
log.info("commit transaction");
这样,在我点击submit登录时,输出了12个消息。<o:p></o:p>
这样,肯定是有些不合理,但是我不清楚如何来处理这样的问题,所以还是希望高手可以帮忙提示一下,<o:p></o:p>
同时,各位看到有什么问题,请提出,谢谢<o:p></o:p>
完毕!<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<o:p></o:p>