iteye_11551 2008-09-23 16:26
浏览 251
已采纳

No getter method for property Owner of bean rsArra

[code="java"]<%@ page language="java" contentType="text/html;charset=gb2312" %>


<%@ page import="java.util.List" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%>
<%@ page import="java.util.LinkedList;" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
List list=(List)request.getAttribute("rsArray");
out.println(list);
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<title>selectInfo.jsp</title>
  </head>


修改
删除












    <tr>
    <html:submit value="提交"/><html:cancel value="取消"/>
    </tr>
    </html:form>
</table>    

部门 : 使用人 : 品牌:
购机时间 : 计算机名 : 使用人 :
 <tr>

        <td>使用人 :</td>
        <td>内存 : </td>
        <td>电话 : </td>
        <td>特殊软件 : </td>
        <td>机器型号 : </td>
        <td>硬盘 : </td>
        <td>购机时间 : </td>
        <td>计算机名 : </td>
        <td>cpu : <td>
        <td>备注 : <td>
        <td>病毒名称 : <td>
        <td>部门 : <td>
        <td>品牌 : <td>
        <td>使用情况 :<td>
        <td>用户名 : <td>
        <td>是否液晶 : <td>
        <td>光驱 : <td>
        <td>职务 : <td>
























/logic:iterate
/logic:present


/html:html
[/code]

action
[code="java"]public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
SelectInfoForm selectInfoForm = (SelectInfoForm) form;// TODO
// Auto-generated
// method stub
String brand = (String)selectInfoForm.getBrand();
String buyTime = (String)selectInfoForm.getBuytime();
String departname = (String)selectInfoForm.getDepartname();
String owner = (String)selectInfoForm.getOwner();
String Pcname = (String)selectInfoForm.getPcname();
String username = (String)selectInfoForm.getUsername();
System.out.println(brand +"_____________"+buyTime+ "__________"+
departname+"________" +owner +"_____"+Pcname+"______________"+username);
StringBuffer clause = new StringBuffer("select * from infopc where 1=1 ");

    if(!brand.equals("")){
        clause.append("and brand='"+brand+"'");
    }
    if(!buyTime.equals("")){
        clause.append("and buytime='"+buyTime+"'");
    }
    if(!departname.equals("")){
        clause.append("and departname='"+departname+"'");
    }
    if(!owner.equals("")){
        clause.append("and owner='"+owner+"'");
    }
    if(!Pcname.equals("")){
        clause.append("and pcname='"+Pcname+"'");
    }
    if(!username.equals("")){
        clause.append("and username='"+username+"'");
    }
    System.out.println("_______sql____________:" + clause);
    DB db = null;
    try {
        db = new DB();
        db.connDb();
        ResultSet rs = db.executeQuery(clause.toString());
        List  list= new ArrayList();
        while(rs.next()) {
            //System.out.println("____ResultSet have value!___________");

            //Integer.parseInt(arg0)
            list.add(rs.getInt(1));
            list.add(rs.getString(2));
            list.add(rs.getString(3));
            list.add(rs.getString(4));
            list.add(rs.getString(5));
            list.add(rs.getString(6));
            list.add(rs.getString(7));
            list.add(rs.getString(8));
            list.add(rs.getString(9));
            list.add(rs.getString(10));
            list.add(rs.getString(11));
            list.add(rs.getString(12));
            list.add(rs.getString(13));
            list.add(rs.getString(14));
            list.add(rs.getString(15));
            list.add(rs.getString(16));
            list.add(rs.getString(17));
            list.add(rs.getString(18));
            list.add(rs.getString(19));
            System.out.println("rs.getInt(1):"+rs.getInt(1));
            System.out.println("list.size() :"+list.size());
            System.out.println(rs.getInt(1)+rs.getString(2));

        }

        request.setAttribute("rsArray", list);
        System.out.println("session_______setAttribute得值是:"+list);


        System.out.println("____can run here!!!____________");

        return mapping.findForward("success");


    } catch (Exception e) {

    } finally {
        if (db != null)
            db.closeDb();
    }

    return null;
}[/code]

解决了一个下午 有点迷糊了
[b]问题补充:[/b]
写了个类 com.xxx.struts.util.Pcinfo 得到新异常。。
javax.servlet.ServletException: Cannot find bean Pcinfo in any scope
while(rs.next()) {
//System.out.println("____ResultSet have value!___________");

            //Integer.parseInt(arg0)
            list.add(rs.getInt(1));
            list.add(rs.getString(2));//depart
            list.add(rs.getString(3));//owner
            list.add(rs.getString(4));//pcname
            list.add(rs.getString(5));//username
            list.add(rs.getString(6));//post
            list.add(rs.getString(7));//brand
            list.add(rs.getString(8));//type
            list.add(rs.getString(9));//cpu
            list.add(rs.getString(10));//mem
            list.add(rs.getString(11));//disksum
            list.add(rs.getString(12));//ram
            list.add(rs.getString(13));//iscrty
            list.add(rs.getString(14));//buytime
            list.add(rs.getString(15));//tele
            list.add(rs.getString(16));//spec
            list.add(rs.getString(17));//usething
            list.add(rs.getString(18));//virus
            list.add(rs.getString(19));//remark
            Pcinfo ipform= new Pcinfo();
            ipform.setBrand(rs.getString(7));
            ipform.setBuytime(rs.getString(14));
            ipform.setCpu(rs.getString(9));
            ipform.setDepartname(rs.getString(2));
            ipform.setDisksum(rs.getString(11));
            ipform.setIscrystal(rs.getString(13));
            ipform.setMemory(rs.getString(10));
            ipform.setOwner(rs.getString(3));
            ipform.setPcname(rs.getString(4));
            ipform.setPost(rs.getString(6));
            ipform.setRam(rs.getString(12));
            ipform.setRemark(rs.getString(19));
            ipform.setSpecsoft(rs.getString(16));
            ipform.setTele(rs.getString(15));
            ipform.setType(rs.getString(8));
            ipform.setUsername(rs.getString(5));
            ipform.setUsething(rs.getString(17));
            ipform.setVirus(rs.getString(18));
            list.add(ipform);

界面 如下:






















/logic:iterate
/logic:present.

写法不对?

  • 写回答

2条回答 默认 最新

  • sptzone 2008-09-23 16:33
    关注

    你在request中的"rsArray"存放的是一个list
    这个list里面有许多不同类型的值:getInt,getString.

    但是取数据的时候却是告诉程序
    rsArray是有一个JavaBeans的列表,
    [code="java"] [/code]

    并且JavaBean有属性owner
    [code="java"][/code]

    这个是错误的,

    你需要建立一个RSObject类,将属性存进这个RSObject,并且保证RSObject有下列属性。

    [code="java"]



































    [/code]
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?