下拉菜单的编和跟新转换

页面调整概述
1,修改mocup页面标签
2,增加页面锁需要的功能:
1)保存功能:选用的是hibernate的session。save();方法,将vo(pojo)的映射的所需字段进行set方法,获取的字段是从页面
的ActionForm里get出的,hql语句选用的是将一个数据库中的表传到hql中,
难点:无
2)删除功能:
1)思想:将页面中选中的一条数据的唯一id传入到action中,由action进行判断穿到logic中进行逻辑的调用dao的方法和赋值,最后又Dao调用
相应的删除方法。
难点:jsp中获取单条数据的id;
如:<bean:define id="ch" name="TestForm" property="changename"></bean:define>其中,name为所选取的actionform,property为actionform的
一个返回的list值(由actionform中定义)当然如果选用迭代的方式:   <bean:define id="id" name="itm" property="ptestid"></bean:define>
name迭代的名称由iterate中定义,property 绑定的名称,紧接着<input οnclick="doupdate(<%=id %>)"value="编辑" class="A1"/>将id传给function xx(data)中
再有相应的document进行赋值;
3)下拉菜单:
难点:通过1表的fid查出相应的2表的pid,输出pname
运用:<html:select property="ftypeid" name="TestForm">
 <html:optionsCollection name="TestForm" property="usernamelist"  label="ctypename" value="ptypeid" />
 </html:select>
  name为actionform,property为一个form中的一个对象,label为需要显示的内容,value显示内容对应的表中的id;
 比较难懂的是propery="";中间的是一个对象,此标签带有自动回显的功能比迭代好用,尤其是对应多个对象的时候选用
 action中 testForm.setUsernamelist(testDao.getObjects("Ttesttype"));
4)下拉中的编辑选项:
需求:点选编辑按钮时,触发将此条数据回显到输入的test中
其中jsp获取回显也是用<html:optionsCollection/>标签完成
action中testForm.setTestAllName(logic.getTestAll("TestAll"));作为页面初始时显示,
 logic中-public List getTestAll(String name){
ArrayList alist=new ArrayList();//定义数组list
TestDao testDao=new TestDao();
try{
List list=testDao.SelectAll();//调用Dao中的查询语句
Iterator iterator=list.iterator();//进行迭代
while(iterator.hasNext()){
Object[] objects=(Object[])iterator.next();//定义接受的一个object对象
/** 给object对象需要的字段进行赋值**/
testAll.setPtestid(objects[0].toString());
testAll.setCtestname(objects[1].toString());
testAll.setCtypename(objects[2].toString());
testAll.setCexplain(objects[3]==null?"":objects[3].toString());//此字段可以为空
alist.add(testAll);
}
}catch(Exception e){
e.printStackTrace();
}
return alist;
}
注意返回的是一个数组list;
5)按钮的点击更换:
难点,点击后变换按钮的名称和功能
可在jsp页面实现:
<bean:define id="ch" name="TestForm" property="changename"></bean:define>
   <logic:equal name="ch" property="isModify" value='1'>
   <!-- 调用更新数据方法 -->
    <input class='B1' id='Button2' type='button' value='保存' border='0' name='Button3' οnclick="doUpD()">
      </logic:equal>
       <logic:notEqual name="ch" property="isModify" value='1'>
       <!-- 调用增加数据方法 -->
      <input class='B1' id='Button2' type='button' value='添加保存' border='0' name='Button3' οnclick="doTest()">
     </logic:notEqual>
其中<bean:define id="ch" name="TestForm" property="changename"></bean:define>中的property为一个进行类的对象,这个类存放对象的set,get方法
logic中:
public void setModifyState(ChangeName changeName) {
if(changeName.getIsModify()==0) {
changeName.setIsModify((byte)1);
} else {
changeName.setIsModify((byte)0);
}
}
为判断触发变换的方法;
6)编辑后的保存:
难点:更新2个表单的数据
通过将页面的jsp传入的数据跟新,表2通过1表更新的fid也跟着更新
 
 
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值