有一张表是saleInfo表,里面有companyCode字段
其他每张表都有这个字段
故,我在saleInfo实体类里面 声明了其他实体类
例如
private Company com;

private Activity ac;

private Machine ma;

private Salenetwork sa;在Action里面
我要把 com所有信息,ac所有信息,ma所有信息都保存在session里面
代码
HttpSession session = request.getSession();
saleInfo.setCom(com);
saleInfo.setAc(ac);
saleInfo.setMa(ma);
saleInfo.setSa(sa);
session.setAttribute("saleInfo", saleInfo);
然后我在jsp页面上 从session当中取值,代码部分<%String name = (String) request.getAttribute("saleInfo");
String contact = (String) request.getAttribute("saleInfo");
String brandInfo = (String) request.getAttribute("saleInfo");
%>
<font size="6"><s:property value="<%=name %> />
</font>
<table border="0" cellspacing="0" cellpadding="0" width="170">
<s:property value="<%=contact %>" />
</table>
<s:property value="<%=brandInfo %>" />
我是想在取com里面的name值,这样写是对的么。
我运行的时候报错了,错误代码:type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /comPro.jsp(38,25) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1213)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:852)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:871)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)

解决方案 »

  1.   

    以上代码可能存在3点问题:
    第一:session为空,你可以百度一下后台获得session的代码。
    第二:你是用session存的值,但是页面上却用的是 request 获取。
    第三:request获得数据的话要用 getparameter("键")。
      

  2.   

    session值的获得  不需要用request得到 
      

  3.   

    还有一个问题是:session里面存放的是一个List吧,而且在jsp页面可以使用${}就可以获得值了
      

  4.   

    1,不好意思 代码没放完全public class SaleInfo implements Serializable {
    private Company com;//引用实体类
    private Activity ac;//引用实体类
    private Machine ma;//引用实体类
    private Salenetwork sa;//引用实体类      //下面是get和set方法
    }所以saleInfo 也是实体类,我把这个实体类放到session,所以不是空
    2,我用session保存值,怎么在jsp用session取值?这一点我确实也不知道
    3,request.getpgetparameter("");这个用法是取在JSP上面的空间吧,但是我要取的是数据库的值
    补充一下,我用的是JDBC模板做的,所有都已经用ResultSet取值了
      

  5.   

    一句话,你Session里面放的什么,你就用什么去映射了取他,你用string去转换,它本身不是string的,当然会出错了。他本身就是对象,你就用对象去映射它,然后去取就可以里
      

  6.   

    第一:我说的为空是:HttpSession session = request.getSession();此处为空,与你存什么无关
    第二:页面获得session 使用JSTL标签  ${sessionScope.XX键} ,此处集体写法百度一下也很快。
      

  7.   

    <%String name = (String) request.getAttribute("saleInfo");                                
                                    String contact = (String) request.getAttribute("saleInfo");
                                    String brandInfo = (String) request.getAttribute("saleInfo");
                                %>改为:<%String name = (String) session.getParameter("saleInfo");                                
                                    String contact = (String) session.getParameter("saleInfo");
                                    String brandInfo = (String) session.getParameter("saleInfo");
                                %>
      

  8.   


    第一个你的意思是 我没声明request 对吧
    第二个 没明白您意思 "此处集体写法百度一下也很快。"是什么意思啊
      

  9.   

    我的问题自己解决了。用#session就可以了。还是谢谢各位了
      

  10.   

    String name = (String) request.getAttribute("saleInfo"); 
    你的saleInfo 是对象吧? 然后你用String接收? 肯定有错, <s:property value="<%=contact %>" />
     这句话也错了..struts2标签库这么用会出错,好好复习一下struts标签库吧
      

  11.   


    嗯,有木有struts2.0标签库 资料啊 给我一份 谢谢