我的页面时用struts2的标签写的,页面功能是显示查询记录,记录的显示我用了<s:iterator value = "list"><s:property value = "barCode"></s:iterator>,在action中,我将list写了一个get/set方法对,后台都能打印出来list值,但是页面上不能显示不能显示,现将页面和action代码贴出来,各位大侠看看。AmmeterDetect.jsp代码如下:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri = "/struts-tags" prefix = "s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head> <!-- ahthor:zhixueyin
description:电能表质量检测
time:2009-4-19
-->
<title>AmmeterDetect.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<s:head/>
</head> <body>
<s:form action = "AmmeterDetect.action" name = "check_form" method = "post" theme = "simple">
<table border = "1">
<tr>
<%--<td width="100">
开始日期 </td>
<td width="177">
<s:datetimepicker name = "start_time" label = "Format(yyyy-MM-dd )" displayFormat="yyyy-MM-dd" value = ""></s:datetimepicker>
</td>
<td width="100">
结束日期 </td>
<td width="177">
<s:datetimepicker name = "end_time" label = "Format(yyyy-MM-dd)" displayFormat="yyyy-MM-dd" value = ""></s:datetimepicker>
</td>
--%><td width="215">
<s:submit type = "submit" name = "submit" value = "查询"></s:submit>
</td>
</tr>
<tr>
<td width="100">
计量器具编号
</td>
<td width="177">
<input type = "text" name = "userid" value = "">
</td>
</tr>
</table>
<table>
<tr>
<td>
条形码
</td>
<td>
计量器具名称
</td>
<td>
型号规格
</td>
<td>
准确度
</td>
<td>
产权
</td>
<td>
额定一次电压(电流)
</td>
<td>
额定二次电压(电流)
</td>
<td>
额定功率因数
</td>
<%--<td>
额定频率
</td>
--%><td>
检定结果
</td>
<td>
绝缘电阻
</td>
<td>
工频耐压
</td>
<td>
极性
</td>
<td>
最大变差
</td>
<td>
审核
</td>
<td>
检定人
</td>
<td>
检定时间
</td>
<td>
结论说明
</td>
<td>
生产厂家
</td>
</tr>
<s:iterator value="ammList" >
<tr>
<td>
<s:property value="barCode"/>
</td>
<td>
<s:property value="measureInstrumentName"/>
</td>
<td>
<s:property value="measureInstrumentKind"/>
</td>
<td>
<s:property value="checkoutDate"/>
</td>
<td>
<s:property value="checkoutPerson"/>
</td>
<td>
<s:property value="auditingPerson"/>
</td>
<%--<td>
<s:property value="额定频率"/>
</td>
--%><td>
<s:property value="resultExplain"/>
</td>
<td>
<s:property value="productFactory"/>
</td>
<td>
<s:property value="propertyRight"/>
</td>
<td>
<s:property value="firstRatingVoltage"/>
</td>
<td>
<s:property value="secondTatingVoltage"/>
</td>
<td>
<s:property value="checkResult"/>
</td>
<td>
<s:property value="insulatedResistor"/>
</td>
<td>
<s:property value="frequencyVoltage"/>
</td>
<td>
<s:property value="polarity"/>
</td>
<td>
<s:property value="maxBalance"/>
</td>
<td>
<s:property value="nicety"/>
</td>
<td>
<s:property value="ratingFac0tor"/>
</td>
</tr>
</s:iterator>
</table>
</s:form>
</body>
</html>
action的代码如下:
package com.action;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;import javax.servlet.http.*;
import org.apache.struts2.ServletActionContext;import com.Service.AmmeterDetectService;
import com.Service.AmmeterDetectServiceImpl;
import com.opensymphony.xwork2.ActionSupport;
import com.ufinity.rms.model.DlAmmeterCheckinData;
public class AmmeterDetect extends ActionSupport
{
List<DlAmmeterCheckinData> ammList;
public List<DlAmmeterCheckinData> getAmmList() {
return ammList;
}
public void setAmmList(List<DlAmmeterCheckinData> ammList) {
this.ammList = ammList;
}
public String execute() throws Exception
{
//HttpServletResponse response = ServletActionContext.getResponse();
HttpServletRequest request = ServletActionContext.getRequest();
try
{
String userid = request.getParameter("userid");
Integer id = Integer.valueOf(userid);
//新建一个持久化对象
DlAmmeterCheckinData dacd = new DlAmmeterCheckinData();
//dacd.setAmmeterId(request.getParameter(userid));
dacd.setId(id);
//新建一个数据库访问代理
AmmeterDetectService service = new AmmeterDetectServiceImpl();
//浏览数据库记录
ammList = service.findAmmeter(id);
//request.setAttribute("DataSet", list);
return SUCCESS;
}
catch(Exception ex)
{
ex.printStackTrace();
return null;
}
}
}
<%@ taglib uri = "/struts-tags" prefix = "s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head> <!-- ahthor:zhixueyin
description:电能表质量检测
time:2009-4-19
-->
<title>AmmeterDetect.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<s:head/>
</head> <body>
<s:form action = "AmmeterDetect.action" name = "check_form" method = "post" theme = "simple">
<table border = "1">
<tr>
<%--<td width="100">
开始日期 </td>
<td width="177">
<s:datetimepicker name = "start_time" label = "Format(yyyy-MM-dd )" displayFormat="yyyy-MM-dd" value = ""></s:datetimepicker>
</td>
<td width="100">
结束日期 </td>
<td width="177">
<s:datetimepicker name = "end_time" label = "Format(yyyy-MM-dd)" displayFormat="yyyy-MM-dd" value = ""></s:datetimepicker>
</td>
--%><td width="215">
<s:submit type = "submit" name = "submit" value = "查询"></s:submit>
</td>
</tr>
<tr>
<td width="100">
计量器具编号
</td>
<td width="177">
<input type = "text" name = "userid" value = "">
</td>
</tr>
</table>
<table>
<tr>
<td>
条形码
</td>
<td>
计量器具名称
</td>
<td>
型号规格
</td>
<td>
准确度
</td>
<td>
产权
</td>
<td>
额定一次电压(电流)
</td>
<td>
额定二次电压(电流)
</td>
<td>
额定功率因数
</td>
<%--<td>
额定频率
</td>
--%><td>
检定结果
</td>
<td>
绝缘电阻
</td>
<td>
工频耐压
</td>
<td>
极性
</td>
<td>
最大变差
</td>
<td>
审核
</td>
<td>
检定人
</td>
<td>
检定时间
</td>
<td>
结论说明
</td>
<td>
生产厂家
</td>
</tr>
<s:iterator value="ammList" >
<tr>
<td>
<s:property value="barCode"/>
</td>
<td>
<s:property value="measureInstrumentName"/>
</td>
<td>
<s:property value="measureInstrumentKind"/>
</td>
<td>
<s:property value="checkoutDate"/>
</td>
<td>
<s:property value="checkoutPerson"/>
</td>
<td>
<s:property value="auditingPerson"/>
</td>
<%--<td>
<s:property value="额定频率"/>
</td>
--%><td>
<s:property value="resultExplain"/>
</td>
<td>
<s:property value="productFactory"/>
</td>
<td>
<s:property value="propertyRight"/>
</td>
<td>
<s:property value="firstRatingVoltage"/>
</td>
<td>
<s:property value="secondTatingVoltage"/>
</td>
<td>
<s:property value="checkResult"/>
</td>
<td>
<s:property value="insulatedResistor"/>
</td>
<td>
<s:property value="frequencyVoltage"/>
</td>
<td>
<s:property value="polarity"/>
</td>
<td>
<s:property value="maxBalance"/>
</td>
<td>
<s:property value="nicety"/>
</td>
<td>
<s:property value="ratingFac0tor"/>
</td>
</tr>
</s:iterator>
</table>
</s:form>
</body>
</html>
action的代码如下:
package com.action;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;import javax.servlet.http.*;
import org.apache.struts2.ServletActionContext;import com.Service.AmmeterDetectService;
import com.Service.AmmeterDetectServiceImpl;
import com.opensymphony.xwork2.ActionSupport;
import com.ufinity.rms.model.DlAmmeterCheckinData;
public class AmmeterDetect extends ActionSupport
{
List<DlAmmeterCheckinData> ammList;
public List<DlAmmeterCheckinData> getAmmList() {
return ammList;
}
public void setAmmList(List<DlAmmeterCheckinData> ammList) {
this.ammList = ammList;
}
public String execute() throws Exception
{
//HttpServletResponse response = ServletActionContext.getResponse();
HttpServletRequest request = ServletActionContext.getRequest();
try
{
String userid = request.getParameter("userid");
Integer id = Integer.valueOf(userid);
//新建一个持久化对象
DlAmmeterCheckinData dacd = new DlAmmeterCheckinData();
//dacd.setAmmeterId(request.getParameter(userid));
dacd.setId(id);
//新建一个数据库访问代理
AmmeterDetectService service = new AmmeterDetectServiceImpl();
//浏览数据库记录
ammList = service.findAmmeter(id);
//request.setAttribute("DataSet", list);
return SUCCESS;
}
catch(Exception ex)
{
ex.printStackTrace();
return null;
}
}
}
<s:iterator id="l" value="list">
<s:property value="id"/>
<s:property value="name"/>
<s:property value="password"/>
</s:iterator>
public class ShowData extends ActionSupport{
private List<Object> list; @Override
public String execute() throws Exception {
Connection con = Mysqljdbc.getConnection();
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("select * from user;");
list = new ArrayList<Object>();
while(rs.next()){
User user = new User();
user.setId(rs.getString(1));
user.setName(rs.getString(2));
user.setPassword(rs.getString(3));
list.add(user);
}
Mysqljdbc.closeConnection(con);
return "success";
} public List getList() {
return list;
} public void setList(List<Object> list) {
this.list = list;
}}
完全可以显示
没有任何问题
<s:iterator value="myscore" status="stat">
<tr>
<td><s:property value="myscore[#stat.index][1]"/></td>
<td><s:property value="myscore[#stat.index][0]"/></td>
</tr>
</s:iterator>
当查询两张表的值时,value=表的字段名,在网页真没输出值,
期待其他好方法。
这样写
List list=service.findAmmeter(id);
ammList.add(list);吧在循环看看 ammList 里的值。