struct应用问题!!!高手请进!!! STRUCT标签当然有这种功能!非常实用!只要form中属性和页面上控件的名称一一对应就可以了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我知道这种(从界面对应对FORM中,然后再把form中的值对应到实体BEAN,用HIBERNATE的ORM进行插入操作),能返过来(不用REQUEST或SESSION存),比如修改操作,选择要修改的项,通过IbaseService service = (IbaseService)this.getObject("BaseService"); ActionErrors errors=new ActionErrors(); Long id = new Long(httpServletRequest.getParameter("id")); BbsqForm form=(BbsqForm)actionForm; try { Bbsq obj=(Bbsq)service.findObject(Bbsq.class,id); BeanUtil.beancopyProperties(form,obj); return actionMapping.findForward(STRADD); } 然后再从前台界面中取出!!! 你是想问为什么添加画面页面的项目是空白,而修改的页面项目是有值的?假设你的actionform已经在struts-config里设定为“request”,取名叫testform那么当页面加载的时候,struts采取的策略是,首先判断在request里是否存在名字叫testform的ActionForm类实例,如果存在,就直接用这个实例,那样如果页面上的项目名字和form中的名字相同就能直接重form中读到值,修改画面的值就是这么出来的。如果request里没有叫testform的ActionForm实例,struts会自动的定义一个testform实例,当然,这个实例是未经赋值的,画面上也就没有值。如果添加和修改用的同一个画面,那么画面加载的时候request里formbean的状态应该是不一样的,具体看你的代码了。不知道你想问的是不是这个,我随便说说我了解的一些基础知识。 如果你是想说,由于页面的重用而导致在添加的时候,文本框里显示的都是null,你想让他变成空白的话,那就很简单,你做个小方法,把这个做一个新的对象,全部的字段都设置为“”(空字符串),然后传过去。 struts配置文件的action中有两个属性,一个是name,一个是attributename的主要作用是表单提交提取数据而attribute的作用是action返回数据是时候使用能够使用的前提是必须要使用struts标签才有效否则只能够通过scope属性的值点getAttribute取出来才能够用如果不用attribute属性action中类似功能的代码为:request/session.setAttribute();页面使用通过:request/session.getAttribute();这样效果就是一样的了 yingShisscWang和jumpheightway 能不能给个具体的例子!!邮箱为::[email protected] Long id = new Long(httpServletRequest.getParameter("id")); 添加的时id没有值,findObject返回空的对象,beancopyProperties后form各属性就是空了 ssh连接mySql数据库 想找人聊一聊java的media方面 关于服务器监控的问题 哪位知道为什么不能生成server-config.wsdd文件? 初学小总题,在线等啊.........急...... jacob抱错,高手进来看看,急!! el表达式问题 关于servlet和Filter的生命周期问题。 数据库发生变化,怎么及时更新缓存? springmvc DNS解析问题,请帮忙,谢谢 j2ee面试题
IbaseService service = (IbaseService)this.getObject("BaseService");
ActionErrors errors=new ActionErrors();
Long id = new Long(httpServletRequest.getParameter("id"));
BbsqForm form=(BbsqForm)actionForm; try {
Bbsq obj=(Bbsq)service.findObject(Bbsq.class,id);
BeanUtil.beancopyProperties(form,obj);
return actionMapping.findForward(STRADD);
} 然后再从前台界面中取出!!!
那么当页面加载的时候,struts采取的策略是,首先判断在request里是否存在名字叫testform的ActionForm类实例,如果存在,就直接用这个实例,那样如果页面上的项目名字和form中的名字相同就能直接重form中读到值,修改画面的值就是这么出来的。如果request里没有叫testform的ActionForm实例,struts会自动的定义一个testform实例,当然,这个实例是未经赋值的,画面上也就没有值。
如果添加和修改用的同一个画面,那么画面加载的时候request里formbean的状态应该是不一样的,具体看你的代码了。不知道你想问的是不是这个,我随便说说我了解的一些基础知识。
name的主要作用是表单提交提取数据
而attribute的作用是action返回数据是时候使用
能够使用的前提是必须要使用struts标签才有效
否则只能够通过scope属性的值点getAttribute取出来才能够用
如果不用attribute属性
action中类似功能的代码为:
request/session.setAttribute();
页面使用通过:
request/session.getAttribute();
这样效果就是一样的了
yingShisscWang和jumpheightway 能不能给个具体的例子!!邮箱为::[email protected]
添加的时id没有值,findObject返回空的对象,beancopyProperties后form各属性就是空了