首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

springside3.x里action用id查值的一个有关问题

2012-09-22 
springside3.x里action用id查值的一个问题在开发的过程,因为有一个栏目表的功能开发,用于作为整个系统的页

springside3.x里action用id查值的一个问题
在开发的过程,因为有一个栏目表的功能开发,用于作为整个系统的页面,栏目等等的一个标识记录之类的。表的设计好简单,就是平时的一样:

id bigint 7pid bigint 7code varchar(50)title varchar(50)....




数据库里有数据:
id    pid   code   title1      0    index   首页


然后生成一个实体映射类TColumn.java,还有就是TcolumnAction.java继承actionsupper.java之类的,这些都与正常的一样。

JSP页面有一个新增子类,更改,删除之类的功能,新增子类及更改都是调用同一个javascript方法,然后传入一个标识符用作区是点击了新增还是更改。最终的javascript方法是下面这样:
function addModifNode(id,type){    var url ='/admin/content/tcolumn!input.do?id='+id+'$type='+type;    add(url,title);//打开一个窗口}



TcolumnAction.java里的input方法为:
public TcolumnAction extends ActionSupper {    private Long id;    private TColumn entity;    ...    public String input() throws Exception {       System.out.println("#######id: "+entity.getId());       System.out.println("#######pid: "+entity.getPid());       System.out.println("#######code: "+entity.getCode());       System.out.println("#######title: "+entity.getTitle());    }    ...}


大致就是以上这些代码吧,因为ID里已经传入,所以在执行input方法就会根据ID是否为null来确定是否查询数据库来取值的。页面传入了一个id,所以得到的值应该是数据的。打印出来的也应该是数据库里的数据才是正常的。

但实际上打印出来的并不是这样的,其实所有的都正常,就只的一个pid的值是不正确的。于是就查数据库,dutbug,后来连pid的字段名也改了。还是不行,所得到的值与数据库中的值就是不一致。试了很久,也浪费了很久时间。后来无意中在jsp页面中将&pid=+id删除去后,再测试,一切正常了。


发现问题就好办了。猜想了一下:当提交请交到action里,再到input方法前,就已经取得了一个以ID为准的TComun的pojo对象了。还没有到input方法前,Entity.get()还是正常的。但当进入到input方法后,就会将提交过来的值填充到entity去,此时如果再打印的话就会将传过来的值打印出来。






热点排行