关于Struts2的可能比较基础的问题

 

最近做Struts2开发遇到两个问题,第一是在使用Struts2注解配置拦截器的时候,发现自定义拦截器无法通过注解实现,也就是除了@InterceptorRef和@InterceptorRefs就没有别的注解可用了,但是我用的是convention-plugin 2.1.6 不知道是不是我的问题。

 

另外一个,就是在做表单的时候,有时候需要修改数据库中某个实体的资料,比如就说一个用户的资料,有姓名,年龄或是住址,在修改的时候希望有个表单能先从数据库中把原先的资料给弄出来,然后再修改,其实也就是spring中AbstractFormController中的formBackingObject()方法的作用,多方探查没有找寻到好的方法,希望能有熟悉Struts2的朋友指点一下迷津。

2个回答

我来回答第二个问题吧:

其实LZ说的应该是在Update的时候先从数据库获取最新的记录,然后再根据反射,直接修改记录吧。

Struts2中可以这样实现:

定义三个interceptor:

params--->prepare--->params

第一个params,你可以获取从页面获取记录id

第二个prepare,根据页面获取的id,从数据库中获取最新的记录

第三个params,就是把页面的值直接反射到最新的记录中。

具体的教程可以参考:

http://struts.apache.org/2.x/docs/crud-demo-i.html

对于第一个问题,我个人认为是Struts2中还是少用注解的方式来代替XML配置,XML配置虽然繁琐了点,但是很直观。

“在修改的时候希望有个表单能先从数据库中把原先的资料给弄出来,然后再修改”
该问题就是数据的准备问题:1、在转到表单页面前需要把相关的数据准备好。在struts中的做法就是页面的转向都要经过action,在action中准备数据。2、经过action转向到的页面是利用在action中准备的数据在页面展现。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问