为什么写了表格在下一个的tr中就没有内容 是用foreach 遍历数据库穿得到数据库中的

在MyEclipse中如何用Servlet掉取数据库的表,并显示在JSP文件中_百度知道
在MyEclipse中如何用Servlet掉取数据库的表,并显示在JSP文件中
&table border=& }XML代码为;
&form action=&quot: &input type=&quot:forEach items=&
&td&td&servlet&
&lt.tell }&lt:
&&#47。在JSP中就是只显示&td&tr&table&数据库连接正常;${userlist}&table border=&center&td&td&;td&
&servlet-name&td&gt.GetUser(sql);/
&servlet-name&);用户名称&servlet-name&td& var=&td&删除&
&td&td&用户ID&tr&/&#47, response);/
&/Use&td& &submit&/
&${td&userlist&center&用户密码&用户电话&1&/td&td&
JSP代码为;tr&
&/&#47.username }&tr&td&td&td&a;td& method=&/ value=&// align=&
&${servlet-name&gt.id }&/
&servlet-class&gt:forEach&a; &${/tr&/
&td&post&servlet&
&td&//table&gt.MyServlet&&/url-pattern&
&${servlet-mapping&text/&url-pattern&td&&//servlet:public void GetUser(ServletR//
&MyServlet&td&
String sql=&/;td&tr&
&td&用户密码&
&charset=gb2312&td&use&quot.forward(
&lt.password }&//td& align=&quot.getRequestDispatcher(&用户电话&
UseDao usedao=new UseDao();&/select * from denglu& userlist=MyServlet&lt.setAttribute(&操作&用户名称&lt.jsp&td&MyServlet&servlet-mapping&
List&1&quot,userlist);&lt, IOException
MyServlet&quotServlet文件的代码为, ServletResponse response)
throws ServletException.setContentType(&servlet-class&gt
提问者采纳
就可以啦;).jsp&quot.jsp是要显示数据的页面 .getRequestDispatcher(&getUser, response);GetUser.forward(requestjsp 去请求这个servlet进行数据库的操作之后通过serlvet中request
提问者评价
解决了,必须设置一个按钮触发才能显示
其他类似问题
为您推荐:
其他4条回答
请把问题描述清楚具体的方法你封装在,不知道你想怎么调取:UseDao类中了,怎么XML也进来了
XML文件是web.xml文件
你是想查看数据库中的所有表 并 显示到 jsp
上 ?这个没研究过, 、、属非主流
你的jsp迭代list时错了,是显示问题,例如:td&${use.id }&/td&应该写成td&${id }&/td&,其他一样,如果不行,你也可以使用&c:out value=&use.id & /&输出,你都试试,会有收获的,祝你成功
&servlet-name&action&/servlet-name&
&servlet-class&org.apache.struts.action.ActionServlet&/servlet-class&
&init-param&
&param-name&config&/param-name&
&param-value&/WEB-INF/struts-config.xml&/param-value&
&/init-param&
&init-param&
&param-name&debug&/param-name&
&param-value&2&/param-value&
&/init-param&
&init-param&
&param-name&detail&/param-name&
&param-value&2&/param-value&
&/init-param&
&load-on-startup&2&/load-on-startup&
&/servlet&
&!-- Standa...
您可能关注的推广
servlet的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁双色球想必大家都很熟悉了,尽管屡买屡不中,但还是会买。以前就想过利用双色球的走势图得到双色球的数据库,至于得到数据库干什么倒没想过,不过对以往号码有没有重复出现还是挺好奇的。最近写的博客,所以这篇文章的标题里就出现了Entity Framework的身影,其实Entity Framework在下面的程序里只占据了很少的一部分。
下面开始介绍我获取数据库的方法。
双色球的走势图网址:
打开之后,如下图所示,默认显示的是最近30期的:
根据期号进行查询,可以得到如下的链接:
很容易可以发现beginPeriod表示的是开始期号,endPeriod表示的截止期号。有了这两个参数,就可以得到任意期号的数据了。根据上述方法查询,得到网易彩票提供的最早数据是2004009期。
下面分析走势图的html结构。
谷歌浏览器中,按Ctrl+Shift+i 或Firefox中使用Firebug可查看html的结构。
下图是走势图的html结构,可以看到图表数据在id为chartsTable的表格里。进一步查看,真正有用的数据是在&tbody&&/tbody&标签中。
下面给出获取&tbody&&/tbody&之间内容的代码:
/// &summary&
/// 获取网页的双色球数据
/// &/summary&
/// &param name=&startQH&&开始期号&/param&
/// &param name=&endQH&&截止期号&/param&
/// &returns&&/returns&
private string GetOriginData(string startQH, string endQH)
string path = string.Format(&http://zx./trend/ssq_basic.html?beginPeriod={0}&endPeriod={1}&, startQH, endQH);
WebRequest wp = WebRequest.Create(path);
Stream s = wp.GetResponse().GetResponseStream();
StreamReader sr = new StreamReader(s);
string content = sr.ReadToEnd();
sr.Close();
s.Close();
int startIndex = content.IndexOf(&&tbody id=\&cpdata\&&&);
int endIndex = content.IndexOf(&&/tbody&&);
content = content.Substring(startIndex, endIndex - startIndex).Replace(&&tr class=\&bg_doe\& &&, &&tr&&).Replace(&&tr &&, &&tr&&).Replace(&\r\n&, &&);
&tbody&&/tbody&中的内容就是&tr&&/tr&和&td&&/td&了,下面给出解析&tr&和&td&的代码,有注释,就不多解释了。
/// &summary&
/// 循环解析Tr
/// &/summary&
/// &param name=&wnRepo&&&/param&
/// &param name=&content&&&tbody&&/tbody&之间的内容&/param&
private void ResolveTr(IRepository&WinNo& wnRepo, string content)
string trContent = string.E
WinNo wn = null;
Regex regex = new Regex(&&tr&&);
//在&tbody&&/tbody&之间的内容搜索所有匹配&tr&的项
MatchCollection matches = regex.Matches(content);
foreach (Match item in matches)
wn = new WinNo();
//如果当前匹配项的下一个匹配项的值不为空
if (!string.IsNullOrEmpty(item.NextMatch().Value))
trContent = content.Substring(item.Index, item.NextMatch().Index - item.Index);
//最后一个&tr&的匹配项
trContent = content.Substring(item.Index, content.Length - item.Index);
ResolveTd(wn, trContent);
wnRepo.Insert(wn);
/// &summary&
/// 在一个TR中,解析TD,获取一期的号码
/// &/summary&
/// &param name=&wn&&&/param&
/// &param name=&trContent&&&/param&
private void ResolveTd(WinNo wn, string trContent)
//匹配期号的表达式
string patternQiHao = &&td align=\&center\& title=\&开奖日期&;
Regex regex = new Regex(patternQiHao);
Match qhMatch = regex.Match(trContent);
wn.QiHao = trContent.Substring(qhMatch.Index + 17 + patternQiHao.Length, 7);
//匹配蓝球的表达式
string patternChartBall02 = &&td class=\&chartBall02\&&&;
regex = new Regex(patternChartBall02);
Match bMatch = regex.Match(trContent);
wn.B = Convert.ToInt32(trContent.Substring(bMatch.Index + patternChartBall02.Length, 2));
//存放匹配出来的红球号码
redBoxList = new List&int&();
//匹配红球的表达式
string patternChartBall01 = &&td class=\&chartBall01\&&&;
regex = new Regex(patternChartBall01);
MatchCollection rMatches = regex.Matches(trContent);
foreach (Match r in rMatches)
redBoxList.Add(Convert.ToInt32(trContent.Substring(r.Index + patternChartBall01.Length, 2)));
//匹配红球的表达式
string patternChartBall07 = &&td class=\&chartBall07\&&&;
regex = new Regex(patternChartBall07);
rMatches = regex.Matches(trContent);
foreach (Match r in rMatches)
redBoxList.Add(Convert.ToInt32(trContent.Substring(r.Index + patternChartBall07.Length, 2)));
//排序红球号码
redBoxList.Sort();
//第一个红球号码
wn.R1 = redBoxList[0];
//第二个红球号码
wn.R2 = redBoxList[1];
wn.R3 = redBoxList[2];
wn.R4 = redBoxList[3];
wn.R5 = redBoxList[4];
wn.R6 = redBoxList[5];
下面给出使用到Entity Framework部分的代码:
首先,新建一个WinNo实体,用于表示双色球信息:
public class WinNo
/// &summary&
/// &/summary&
public int ID { }
/// &summary&
/// &/summary&
public string QiHao { }
/// &summary&
/// 第一个红球号码
/// &/summary&
public int R1 { }
/// &summary&
/// 第二个红球号码
/// &/summary&
public int R2 { }
/// &summary&
/// 第三个红球号码
/// &/summary&
public int R3 { }
/// &summary&
/// 第四个红球号码
/// &/summary&
public int R4 { }
/// &summary&
/// 第五个红球号码
/// &/summary&
public int R5 { }
/// &summary&
/// 第六个红球号码
/// &/summary&
public int R6 { }
/// &summary&
/// 篮球号码
/// &/summary&
public int B { }
其次,使用默认配置即可。
第三,新建一个上下文:SSQContext,代码如下:
public class SSQContext : DbContext
public SSQContext()
//Database.SetInitializer(new DropCreateDatabaseAlways&SSQContext&());
Database.SetInitializer&SSQContext&(null);
public DbSet&WinNo& WinNos { }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
modelBuilder.Conventions.Remove&PluralizingTableNameConvention&();
base.OnModelCreating(modelBuilder);
第四,运行程序,结果如下图所示:
本程序的源代码下载地址为:
阅读(...) 评论()php高手来帮忙,mysql输出表格问题,数据库中只有13条记录,我想输出5行5列共25条记录,差12条怎么补足?_百度知道
php高手来帮忙,mysql输出表格问题,数据库中只有13条记录,我想输出5行5列共25条记录,差12条怎么补足?
td&$huanhang2=&&&&lt,须输出空白表格内容;td&&输出&&while ($arr=mysql_fetch_array($result)){$i++,如;body&gt?&;$huanhang2&table border=&;};table1&$result=mysql_query($td&&tr&/ charset=gb2312&/head&&No database'&lt?&gt.=&&;$huanhang2=&&head&gt:第四行 招租 招租 招租 招租 招租 第五行 招租
请问这“& content=&;select * from member order by id desc Limit 0;td&?echo$tr_list.php&/”这个怎么整合到以下代码中整体输出;/;title&&}else if($i%5==0){$huanhang=&td&100%&mysql_select_db($db_name) or die('td&&tr&招租&招租&body&);&/&/$tr_list=&$query=&table&;&&td&招租& width=&连接数据库$db=mysql_connect($db_1&td&招租&;td&meta http-equiv=&);html&,$db);&/td&}$tr_$i=0;&#47,$db_//&lt?require_once(&&//&&td&&$arr[name]&lt,25&&if ($i%5==1) {$huanhang=&);; $huanhang&lt?即如何补齐剩余的单元格;招租&lt?==========================================&&;/title&&$huanhang2=&quot,$db_passwd) or die(' id=&Can not connect to database',输出表格如下;td&html&Content-Type&text&#47:第一行
10第三行 11
招租 从第三行最后二个开始及第四行后因为数据库中没有数据了;&#47数据库中有1-13条记录;}else{$huanhang=&&lt
提问者采纳
& $i++){ $datas[] = '&lt.= &#39.implode('while ($arr=mysql_fetch_array($result)){ $datas[] = $arr[name];/tr&&这行开始改;/;'td&$td&&#39.&#39,$data);; $ $i &foreach ($newdatas as $data){ $tr_td&$cnt = 25 - $tr&gt:$datas = array();&;td&/;&'&lt从$tr_list=&}$cnt = count($datas);}$newdatas = array_chunk($datas, 5);for($i = 0;;'&lt
提问者评价
真正的高手,十分感谢!!!
其他类似问题
为您推荐:
其他3条回答
既然要输出25条,那么就循环25次我不懂php。然后判断数据是否结束,但是我觉得你的循环结束条件不对
呵呵,这个具体我也不明白,还是php新手,你可以上php100论坛看看,或许能有收获
用mysql_num_rows查询记录总数 结果是n条 在循环里加上$i & n 时如何输出 其他时候如何输出
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁关于jstl中使用forEach获取值的问题_百度知道
关于jstl中使用forEach获取值的问题
,返回一个list集合,如果直接用${var变量名}会把所有对象中的所有属性全部显示出来?如果list中只有一个对象好说,还是用${var变量名,请教这个问题怎么解决,但是该集合中有多个对象,说不能使用[]我在Servlet中调用了查询方法,但关键我现在的集合中有多个对象,谢谢大家了,我要在每个表格里单独显示某一类属性,然后跳转到jsp页面;
我想到用list下标${var变量名[下标值],直接变量名.&quot.属性名}也报错?挺着急了.属性名就可以。请问在jsp页面中如何用forEach循环显示所有的内容,提示说不能用&quot.属名}就会报错,每个对象都封装了若干属性
放到session中我当然知道.”会报错!我都说了,用“,集合里有多个对象1楼回答的问题说了跟没说一样
提问者采纳
&lt.:forEach&td&&td&如果是这样的话:Unable to find a value for &quot, 楼主是不是报了这个错.” ;用户名&lt.;td&${requestSlist&td&&td&& in object of class &楼主的List中存放的是不是类似于这样的数据..userName}&);&&lt.td&gt.add(userN);&/td&tr&gt?原因是XXX写错了:&tr&userLtable&gt.UserBean userN = new UserBean();td&userN;).&&userN&quot.xxx&& var=&//user1:UserBean user1 = new UserBean().userList}&&table&gt.setPassWord(&XXX&quot,对象里不包含XXX属性;c;&userN;&#47,在HTML可以这样写;;${list.setUserName(&quot.setPassWord(&${;; using operator &):forEach items=&/tr&gt.userL至于说不能用“.add(user1).;&#47.passName}&);/user1;&nnnnn&c;user1&quot.setUserName(&11111&密码&lt
其他类似问题
为您推荐:
jstl的相关知识
其他2条回答
放在一个单个的对象,将list集合中的取出来先循环遍历,再通过对象
那我就不答了,你自己怎么不先怀疑自己表达能里?
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 php foreach 下一个 的文章

 

随机推荐