页面
<s:iterator value="#userList" var="u">
<tr>
<td><s:property value="#u.id"/></td>
<td><s:property value="#u.name"/></td>
<td><s:property value="#u.password"/></td>
<td><s:property value="#u.dept.deptname"/></td>
<s:a href="user!delete?id=%{#u.id}">删除</s:a>
struts xml
<action name="user" class="userAction">
<result>/list.jsp</result>
<result name="add">/add.jsp</result>
<result name="addSuccess" type="redirectAction">user</result>
<result name="toUpdate">/update.jsp</result>
<result name="delete" type="redirectAction">user</result>
</action>
ACTION类
//删除
public String delete(){
userBiz.delete(user);
return "delete";
}
接着biz省略,直接daoImpl
//删除
public void delete(User user) {
this.getHibernateTemplate().delete(user);
}
完全没有看到user,居然传一个ID就能删除
id和user相关联 在哪里配置怎么配。
追答<?xml version="1.0" encoding="UTF-8"?>上面是一个User.hbm.xml的配置文件。一般的列与属性的对应,使用的是property标签,如上面的username,但作为id是一个特殊的情况,所以它有专门的标签来标注。当执行delete的时候,你传入了一个对象,假设是User类的一个实例,hibernate就回去User.hbm.xml去查找关于User类的配置。
因为是删除,它会去找这个id标签,然后发现id标签的name值是id,这样的话,再反射去获取你传的对象的id属性的值,假设这个值为idval。然后继续去查找column属性,这个属性是对应的就是整个User类所对应的那张表的主键字段名,上面的查找结果就是,t_user表的主键是id,所以,它就可以确定,你要删除的是t_user表里的id值等于传入的那个对象的id值,也就是idval,转化成sql就是delete from t_user where id = idval。显然,如果要执行delete,需要取得几个关键属性。第一是从哪张表删除,这个可以根据参数对象的类型来判断,比如传入的是User类的实例,它就去User.hbm.xml中查找table属性,这里是t_user;第二是删除的依据是什么,也就是,一张表有那么多字段,哪个字段才是主键,这个从上面的分析可以得到,主键是id。而在表中删除一条数据,知道主键值就完全可以了,因为主键是唯一的,通过主键,可以确定删除的行。第三点就是,要删除的这条数据,它的主键值是多少。而这个值就在你传递的那个参数对象中,hibernate会通过反射,调用参数对象的get方法,取得这个值。最后,将以上数据代替到sql语句delete from table where 主键 = 主键值 中,执行这个sql语句,就完成了删除操作。
ssh框架删除更新问题
或者加载User实体,调用session.delete(user);删除 更新 HQL:update User as u set u.pwd = ? where u.name = ?或者加载User实体,setPwd()后调用session.update(user);更新 用实体的话,通过Hibernate获得实体的时候属性就是已经填好的,只需要通过set方法改变相应的值后update即可。
SSH报错问题
hibernate是ORM对象关系映射框架,只能针对对象操作的!所以你在后面getHibernateTemplate().delete(id);,只是删除一个对象的属性是不对的喔。第一个方法,其实是调用了两个方法。第一:getHibernateTemplate().get(User.class, id)相当于:User user1 =getHibernateTemplate().get(User.class, id);getH...
SSH批量删除的问题 jsp往action里面传参数的时候有问题
SSH批量删除的问题 jsp往action里面传参数的时候有问题 5 我在jsp页面上获取到了id拼成的字符串,id之间以#分开,之后触发下面这个js函数。现在的状态是alert可以弹出且内容正确,但是下面IdString就是传不过去,如果我把<%=Ids%>改成一个已知... 我在jsp页面上获取到了id拼成的字符串,id之间以#分开,之后触发下...
ssh 删除数据成功但是数据库里面的数据还在
事务好像是在spring里面配的,一个声明式事务,一个编程式事务。没听说过全局事务。在声明事务里面配好后就不会再有事物的问题了呀。
ssh框架,jsp跳转acion,在action取id值问题?
你配好struts.xml,在deleteAction类里面定义一个id的变量,生成对应的setter和getter方法,这样传递过去的时候底层会调用setter方法设置id变量,也可以用 ServletActionContext.getRequest().getParameter();获得传递的参数。一般用第一种就行的,struts.xml应该会配吧,不行就google下这是struts最基本的。
ssh删除更新问题 高分
SQLQuery sqlQuery = session.createSQLQuery(sql.toString());HibernateDaoSupport这个父类有 getSession()这个方法的。或者 Session session = getHibernateTemplate().getSessionFactor().openSession();也可以。不要老知道说SSH,要理解好它们的意义,这些不是一定要整合用的,要看实际需求,而且它们都有...
尚学堂王勇ssh中structs中客户维护系统例子疑问,为什么删除按钮没作 ...
if (!flag) { alert("请选择需要删除的用户!");return;}这后面使用alert弹出框来一步一步测试,慢慢找下执行到哪里出错了。JS调试初学时比较困难,慢慢调试就好。有什么疑问可以HI我。
华三交换机怎么删除local user不会有什么影响吧
1、你用console线登陆是否需要输入用户名和密码?如果不需要那你可以用concole下登陆后将原来的用户删除掉,或者你讲用户下的密码修改都可以,不影响网络业务;2、无法用web方式管理可能是创建的local-user没有允许web服务,你在service-type下看是除了telnet、ssh是否有web?3、设备升级需要下载升级包,...
在SpringMvc的Controller里写一个根绝id删除对象的操作怎么写
Controller负责事物处理和页面的跳转,根据id删除对象,那你把id传到Controller里然后再用dao操作就行了,页面可以form表单提交或者 href链接带参数提交
SSH 删除方法为int 返回值怎么弄
返回的 int 类型的值只是说明此操作影响了多少条的记录,如果没有需要的话,可以不对其返回值进行处理,也就是直接将方法定义为 void 即无返回值的即可,如需获取返回值,定义一个 int 类型的变量如count,再使用 count = this.getHibernateTemplate().delete(ui);即可 ...