-
1-4查看全部
-
这个好像查看全部
-
struts接受表单数据的三种方式:查看全部
-
无法显示查询的信息是什么原因查看全部
-
1.整合步骤查看全部
-
静态方法不能引用非静态的属性。查看全部
-
public String add() throws ParseException {<br> StudentsDao sdao=new StudentsDaoImpl();<br> String Sname=request.getParameter("sname");<br> String Sgender=request.getParameter("gender");<br> String Sbirthday=request.getParameter("birthday");<br> SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");<br> Date date=simpleDateFormat.parse(Sbirthday);<br> String Saddress=request.getParameter("address");<br> Students s=new Students();<br> s.setAddress(Saddress);<br> s.setBirthday(date);<br> s.setGender(Sgender);<br> s.setSname(Sname);<br> sdao.addStudents(s);<br> return "add_success";<br> }<br> 然后再添加xml文件查看全部
-
Hibernate中,一个事务的开启就需要关闭,即提交,下次再次使用到同一事务的时候,会检测到事务未关闭,就出错了.查看全部
-
当添加学生信息时,学生的学号应该由系统为我们提供.因此需要编写一个获取主键生成策略的算法,也可以直接使用数据库的auto_increament.但varchar类型中无法仅用MYSQL的字段定义实现,auto_increment仅对数字型有效. 因此需要编写一个获取主键生成策略的方法. public String getNewSid(){ String sid=null; String hql="select max(sid) from Student"; Session session=sessionFactory.getCurrentSession(); //开启事务,使用Query接口一定要开启事务. Transaction transaction=session.beginTransaction(); Query query=session.createQuery(hql); //使用uniquerResult()方法查询,返回单条记录,Object类型. sid=(String)query.uniqueResult(); //判断sid是否为null或是否等于空字符串,若等于则返回默认的最大值主键,否则生成新的主键. if(sid==null || "".equals(sid.trim())){ //返回默认的最大值主键. sid="S0000001"; }else{ //截取数值部分的字符串,通过临时变量temp存储. String temp=sid.substring(1); //将数值部分的字符串转为int类型. int intTemp=Integer.parseInt(temp); //数值自增1,即主键+1. intTemp++; //将数值转换为字符串类型. temp=Integer.toString(intTemp); //获取字符串的长度. int len =temp.length(); //通过for循环,拼接为7位数. for(int i=0;i<7-len;i++){ temp="0"+temp; } //最后把字母S拼接上去. sid="S"+temp; } transaction.commit(); return sid; }查看全部
-
Action中的<result>中有type属性,当指定为chain时,即返回到指定的action中. 作用:用于把相关的几个action连接起来,共同完成一个功能,基本用途是构造成一条动作链,前一个动作将控制权转交给后一个动作,而前一个动作的状态在后一个动作里仍然保持着. <action> <result type="chain">要跳转到的action(与前台的方式一样)</result> </action> 此处因为删除了学生信息,因此需要跳转到查询所有学生action的查询方法中,从新查询,为了更新保存在session当中的学生数据.当跳转到查询方法后,会返回到查询成功页面,更新数据.查看全部
-
在html标签中可以直接使用js代码. <a href="#" onclick="javascript: return confirm('真的要删除吗?');">删除</a>查看全部
-
每次遍历,将session中的list的值取出一个放到对象stu中,然后从stu中取出Student类的信息.value后面使用了ognl表达式. <s:iterator value="#session.students_list" var="stu"> <tr> <td><s:property value="#stu.sid"/></td> <td><s:date name="#stu.birthday" format="yyyy年MM月dd日"/></td> </tr> </s:iterator>查看全部
-
项目分层查看全部
-
如果不写return INPUT,那么就重写继承ActionSupport的validate()方法,该方法为void类型,在方法中判断用户提交的表单信息是否合法,不合法则直接使用this.addFieldErroor("","")添加错误信息. 不需要return INPUT.前台页面使用<s:fielderror/>标签显示错误信息. 使用@SkipValidation注解可以排除被该注解修饰的方法不进行验证.查看全部
-
结果类型INPUT的效果 当参数类型转换错误时,或当action中存在addFiledError("name","value")时,会跳转到结果集中name值为input的结果集. addFileError放在action中的方法里,可以通过if语句来判断,addFieldError("","");语句后要有return INPUT; 如果不写return INPUT;可以把此判断放在继承父类validate()的方法中.该方法默认会对所有方法进行验证. 当出现错误时,可以提示用户,在jsp页面合适位置中使用<s:fielderror />标签,该标签可以指定name属性,该name属性为addFieldError方法中的参数name,在jsp页面中使用struts标签,需要导入标签库 语句:<%@ taglib prefix="s" uri="/struts-tags" %> 在struts.xml中: <action name="loginAction" class="com.imooc.login"> <result name="input">/login.jsp</result> //则当发生错误时会自动跳转到登录页面 <result name="success">/success.jsp</result> </action> 在action中: public String login(){ if(username==null||"".equals(username.trim())){ this.addFileError("usernameerror","用户名不能为空!") return INPUT; } return SUCCESS; }查看全部
举报
0/150
提交
取消