MVC框架写增删查改
//查询全部publicListqueryAll()throwsException{Listall=newArrayList();ConnDBconn=newConnDB...
//查询全部
public List queryAll() throws Exception{
List all = new ArrayList();
ConnDB conn=new ConnDB();//连接数据库对象
String sql="SELECT fimg,fname,frmb,fnumber,fid,fconter FROM info" ;
ResultSet rs=conn.executeQuery(sql);//进行数据库查询操作
//下面是针对数据库的具体操作
try{
while(rs.next()){
//查询出内容,之后将查询出的内容赋值给person对象
Message message = new Message();
message.setFimg(rs.getString(1));
message.setFname(rs.getString(2));
message.setFrmb(rs.getString(3));
message.setFnumber(rs.getString(4));
message.setFid(rs.getString(5));
message.setFconter(rs.getString(6));
//将查询出来的数据加入到List对象之中
all.add(message);
}
rs.close();
}catch(Exception e){
throw new Exception("操作出现异常");
}
finally{
//关闭数据库连接
conn.close();
}
return all;
}
页面用action=“*” 传值 到services 才能实现增加功能,
我想页面一刷新就把数据库里的信息全部显示在页面,
但是查询页面怎么才能获得值呢 展开
public List queryAll() throws Exception{
List all = new ArrayList();
ConnDB conn=new ConnDB();//连接数据库对象
String sql="SELECT fimg,fname,frmb,fnumber,fid,fconter FROM info" ;
ResultSet rs=conn.executeQuery(sql);//进行数据库查询操作
//下面是针对数据库的具体操作
try{
while(rs.next()){
//查询出内容,之后将查询出的内容赋值给person对象
Message message = new Message();
message.setFimg(rs.getString(1));
message.setFname(rs.getString(2));
message.setFrmb(rs.getString(3));
message.setFnumber(rs.getString(4));
message.setFid(rs.getString(5));
message.setFconter(rs.getString(6));
//将查询出来的数据加入到List对象之中
all.add(message);
}
rs.close();
}catch(Exception e){
throw new Exception("操作出现异常");
}
finally{
//关闭数据库连接
conn.close();
}
return all;
}
页面用action=“*” 传值 到services 才能实现增加功能,
我想页面一刷新就把数据库里的信息全部显示在页面,
但是查询页面怎么才能获得值呢 展开
1个回答
展开全部
ViewData:只能在一个动作方法中设置,在相关视图页面读取,说得再白一点就是只能在一个页面中使用。
例 在Action方法中设置:ViewData["Message"]="Test";
在视图中读取: <%=Html.Encode(View["Message"]) %>
TempData:TempData和ViewData有一点区别,ViewData只是单个视图有效,而TempData则是两个视图有效,就是说TempData是可以在两个视图中传递的,如果中间没有更新TempData的值的话,那么从第二个视图显示之后,TempData所保存的数据就会丢失。(注:也就是说,只有更新过的,以及新添加的键值对才能再下次request中继续使用),微软为什么要这样做呢,应该是为了节省资源吧!因为我们都知道http是无状态的,每次请求的时候,他都要重新保存TempData的值(利用session保存,顺便提一下,asp.net mvc里面的session对象和web from是一样的),但他又为了不想浪费资源,所以就只保存一次!使用方式和ViewData一致,就把ViewData关键字换成TempData即可,在这里就不列出代码了!
Model:通过设置,读取ViewData和TempData属性,可以将数据从视图传到控制器,也可以从控制器传到视图,看起来好像已经够用了,但必需说明的是ViewData和TempData都是弱类型的,所以编码的时候极容易出错。这时我们可以通过在控制器的View()方法中,传递实例化的对象(例:View(类型)),传递实例化对象,由于是强类型原因,在视图读书时就有代码智能感应,有利于代码的书写和减少错误!除了在Action里面View的返回时需要带上实例化对象外,在页面还需要设置,在页面使用的时候就直接[Model.属性]就可以了!
例:<%=Html.Encode(Model.Name) %>
例 在Action方法中设置:ViewData["Message"]="Test";
在视图中读取: <%=Html.Encode(View["Message"]) %>
TempData:TempData和ViewData有一点区别,ViewData只是单个视图有效,而TempData则是两个视图有效,就是说TempData是可以在两个视图中传递的,如果中间没有更新TempData的值的话,那么从第二个视图显示之后,TempData所保存的数据就会丢失。(注:也就是说,只有更新过的,以及新添加的键值对才能再下次request中继续使用),微软为什么要这样做呢,应该是为了节省资源吧!因为我们都知道http是无状态的,每次请求的时候,他都要重新保存TempData的值(利用session保存,顺便提一下,asp.net mvc里面的session对象和web from是一样的),但他又为了不想浪费资源,所以就只保存一次!使用方式和ViewData一致,就把ViewData关键字换成TempData即可,在这里就不列出代码了!
Model:通过设置,读取ViewData和TempData属性,可以将数据从视图传到控制器,也可以从控制器传到视图,看起来好像已经够用了,但必需说明的是ViewData和TempData都是弱类型的,所以编码的时候极容易出错。这时我们可以通过在控制器的View()方法中,传递实例化的对象(例:View(类型)),传递实例化对象,由于是强类型原因,在视图读书时就有代码智能感应,有利于代码的书写和减少错误!除了在Action里面View的返回时需要带上实例化对象外,在页面还需要设置,在页面使用的时候就直接[Model.属性]就可以了!
例:<%=Html.Encode(Model.Name) %>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询