1、struts2工作总结Struts2开发总结(注:Struts2版本:Struts2.1.6,数据库:Oracle9i)1、若在前台页面使用orgl表达式:必须定义:使用:$requestScope.count来获取session中的值2、日期和天气js脚本,如图下格式:today=newDate();varday;vardate;varhello;varwel;hour=newDate().getHours()if(hour 6)hello=else if(hour 9)hello=else if(hour 12)hello=else if(hour 14)hello=else if(hou
2、r 17)hello=else if(hour 19)hello=else if(hour 22)hello=else hello=if(today.getDay()=0)day=星期日else if(today.getDay()=1)day=星期一else if(today.getDay()=2)day=星期二else if(today.getDay()=3)day=星期三else if(today.getDay()=4)day=星期四else if(today.getDay()=5)day=星期五else if(today.getDay()=6)day=星期六date=(today.get
3、Year()+年+(today.getMonth() + 1 )+月+today.getDate()+日;document.write(hello);scriptLANGUAGE=JavaScriptsrc=调用输出(注意格式):document.write(date + + day + );/*/3、在jsp页面中显示action中的数据,不需要点击链接到action再返回页面中显示数据第一步,写一个action类第二步:配置struts.xml文件,如:/sort1.jsp/error.jsp第三步:在sort1.jsp中遍历action方法为sort5list的结果集:ahref=sor
4、tnlist.action?ct_id=第四步:在index.jsp中调用action为sort5list的方法4、Struts2超链接传参方式:第一种:ahref=newdetail2.action?nid=第二种:Newsquerynew最新文章第三种:直接使用即可注意:Struts2超链接标签中的href属性是必选参数,否则在项目整合中可能会出现不明的标签异常。5、使用Struts2标签循环遍历结果集: ahref=newdetail2.action?nid=()其中内嵌html语言,除了value属性外,还有可选属性id= status=status,value属性是必选的6
5、、格式化日期显示方法或者,只需要改变即可必须定义:Body体中引用:7、FCK网页编辑器的使用:在body体中引用:3、Struts2下拉菜单的使用属性注解:name是给Struts2标签取名字,这个也是提交到action并保存到对应的数据库中的字段名所必须得参数;list是下拉选项数值;listKey是选项列表所对应的id,listValue是选项列表每个字段的名称;theme是自定义下拉框格式,headerkey是首选项的主键id,headerValue是首选项的字段名4、Struts2.1.6使用日期控件:需要导入包:struts2-dojo-plugin-2.1.6.jar在head体
6、中加入:在body体中引用:属性注解:name是给标签取名,type为date日期类型,displayFormat格式化显示日期,value是获取时间值,value=%today是获取当前系统时间5、Struts2隐藏域标签:11、Struts2中form提交表单格式在form中加入theme=simple属性,就不会受Struts2定义格式的影响12、使用属性驱动取值在action中将要输出的属性生成get和set方法,并将返回值定义为返回对象,如:privateStringntitle;/标题privateStringncontent;/内容privateStringntime;/时间pr
7、ivateStringusername;/发布人News news=ns.queryNnewsdetailsql2(nid);/返回一个对象publicString getNtitle() returnntitle;publicvoidsetNtitle(String ntitle) this.ntitle= ntitle;publicString getNcontent() returnncontent;publicvoidsetNcontent(String ncontent) this.ncontent= ncontent;publicString getNtime() returnnt
8、ime;publicvoidsetNtime(String ntime) this.ntime= ntime;publicString getUsername() returnusername;publicvoidsetUsername(String username) this.username= username;由action直接跳转到要显示这些属性详细内容的页面在jsp中直接使用标签取出即可使用模型驱动:查改新建action查询文章类型:importjavax.servlet.http.HttpServletRequest;importorg.apache.struts2.Servle
9、tActionContext;importcom.opensymphony.xwork2.ActionContext;importcom.opensymphony.xwork2.ActionSupport;importcom.opensymphony.xwork2.ModelDriven;importcom.txxw.cms.news.model.Ctype;importcom.txxw.cms.news.model.CtypeService;/*authorfejdE-mail:lzd_niit_java*version创建时间:May22,20091:43:21PM*功能实现:文章类型修改
10、内容查询*/publicclassCtypeeditActionextendsActionSupportimplementsModelDriven privateCtypectype=newCtype();/将封装数据的ctype实现get和set方法OverridepublicString execute()throwsException /TODOAuto-generated method stubHttpServletRequest request=ServletActionContext.getRequest();intct_id=Integer.parseInt(request.ge
11、tParameter(ct_id).replace(,);/通过选择复选框来实现单个文章类型修改CtypeService cs=newCtypeService();Ctype ctype=cs.editctypesql(ct_id);this.setCtype(ctype);returnsuccess;publicObject getModel() /TODOAuto-generated method stubreturnnull;publicCtype getCtype() returnctype;publicvoidsetCtype(Ctype ctype) this.ctype= cty
12、pe;Editctypesql()方法如下:publicCtypeeditctypesql(intct_id)throwsIOExceptiondbcon=newDBConnection();con=dbcon.getCon();Ctype cty=null;List ctylist=newArrayList();trypsta=con.prepareStatement(this.getEditCtypesql(ct_id);psta.setInt(1, ct_id);rs=psta.executeQuery();while(rs.next()cty=newCtype();cty.setCt_
13、id(rs.getInt(ct_id);cty.setCt_name(rs.getString(ct_name);cty.setCt_sid(rs.getString(ct_sid);/数据类型Clob转换String类型START/tryoracle.sql.CLOB clob=(oracle.sql.CLOB)rs.getClob(ct_introduction);/数据库中存文本的CLOB型字段名String ct_introduction=clob.getSubString(long)1,(int)clob.length();/subString是截取字符串(从1截到length)if
14、(clob=null|ct_introduction=null|ct_introduction=)returnnull;cty.setCt_introduction(ct_introduction);System.out.println(ct_introduction);/trycatch(Exception e)logger.debug(数据类型Clob转换String类型出现异常);logger.info(数据类型Clob转换String类型出现异常);e.printStackTrace();/数据类型Clob转换String类型END/cty.setCt_image(rs.getStri
15、ng(ct_image);ctylist.add(cty);catch(SQLException e) /TODOAuto-generated catch blocke.printStackTrace();returncty;publicString getEditCtypesql(intct_id) this.editCtypesql=select *from system.ctype where ct_id=?;returneditCtypesql;publicvoidsetEditCtypesql(String editCtypesql) this.editCtypesql= editCtypesql;注明:上述方法中涉及到Oracle数据类型Clob转换成String类型问题在jsp中使用即可取出ctype中的数据。13、js“返回上一页”astyle=cursor:p
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1