m0_37536978 2017-02-15 11:25 采纳率: 0%
浏览 1521

ssh多对多如何在jsp页面输出?

这是查询所有的结果集
//显示所有 controller控制层
public String findAll(){
if (page==null) {
page=new PageUtil();
}
page.setTotalCount(teastuService.queryCount(each));

HttpServletRequest request = ServletActionContext.getRequest();
teaList=teastuService.findAll(each,page);

if(teaList.size() < 1 ){
    request.setAttribute("eachNo", "没有此条信息!");
}
request.setAttribute("teaList", teaList);
return "showList";

}

这是dao下的方法
@Resource(name="sessionFactory")
SessionFactory sessionFactory;
public List findAll(String each,PageUtil page) {
Session session = sessionFactory.openSession();
String eachType="%"+each+"%";
Query query=session.createQuery("select t from Teacher t where t.TName like '"+eachType+"'");
query.setFirstResult(page.getPageIndex()*page.getPageSize()-page.getPageSize());
query.setMaxResults(page.getPageSize());

    List<Teacher> list = query.list();

    session.close();
    return list;
}
Student实体类
/**
 * Student entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "student", catalog = "asd")
public class Student implements java.io.Serializable {

    // Fields

    private Integer SId;
    private String SName;
    private Set<Teacher> teachers = new HashSet<Teacher>(0);

    // Constructors

    /** default constructor */
    public Student() {
    }

    /** full constructor */
    public Student(String SName, Set<Teacher> teachers) {
        this.SName = SName;
        this.teachers = teachers;
    }

    // Property accessors
    @GenericGenerator(name = "generator", strategy = "increment")
    @Id
    @GeneratedValue(generator = "generator")
    @Column(name = "s_id", unique = true, nullable = false)
    public Integer getSId() {
        return this.SId;
    }

    public void setSId(Integer SId) {
        this.SId = SId;
    }

    @Column(name = "s_name", length = 50)
    public String getSName() {
        return this.SName;
    }

    public void setSName(String SName) {
        this.SName = SName;
    }

    @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "students")
    public Set<Teacher> getTeachers() {
        return this.teachers;
    }

    public void setTeachers(Set<Teacher> teachers) {
        this.teachers = teachers;
    }
Teacher实体类
/**
 * Teacher entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "teacher", catalog = "asd")
public class Teacher implements java.io.Serializable {

    // Fields

    private Integer TId;
    private String TName;
    private Set<Student> students = new HashSet<Student>(0);

    // Constructors

    /** default constructor */
    public Teacher() {
    }

    /** full constructor */
    public Teacher(String TName, Set<Student> students) {
        this.TName = TName;
        this.students = students;
    }

    // Property accessors
    @GenericGenerator(name = "generator", strategy = "increment")
    @Id
    @GeneratedValue(generator = "generator")
    @Column(name = "t_id", unique = true, nullable = false)
    public Integer getTId() {
        return this.TId;
    }

    public void setTId(Integer TId) {
        this.TId = TId;
    }

    @Column(name = "t_name", length = 50)
    public String getTName() {
        return this.TName;
    }

    public void setTName(String TName) {
        this.TName = TName;
    }

    @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    @JoinTable(name = "teacher_student", catalog = "asd", joinColumns = { @JoinColumn(name = "t_id", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "s_id", nullable = false, updatable = false) })
    public Set<Student> getStudents() {
        return this.students;
    }

    public void setStudents(Set<Student> students) {
        this.students = students;
    }

jsp页面输出显示

<form action="teaStuController!deleteMore" onsubmit="return delMore()" method="post"  >
   <table  style="text-align: left" width="800px" >
    <tr>
        <th  id="t1"><input id="qx" type="checkbox" onchange="quanxuan()"/>全选</th>   
       <th>编号</th>
       <th>学生姓名</th>
       <th>老师姓名</th>
        <th><a  href="teaStuController!addpage">添加</a></th>
    </tr>
  <s:iterator var="tea"  value="#request.teaList">

     <tr>
        <td><input type="checkbox"  name="ids" value="<s:property  value="#tea.TId"/>"/></td>           
         <td><s:property  value="#tea.TId"/></td>
         <td>
                        ????????????(这位迭代一直报错)
         </td>
         <td><s:property  value="#tea.TName"/></td>

           <td> <a  href="teaStuController!updatePage?teacher.TId=<s:property  value="#tea.TId"/>"> 修改</a>  
                    <a  href="teaStuController!deleteOne?teacher.TId=<s:property  value="#tea.TId"/>"> 删除</a>  
           </td>
     </tr>
   </s:iterator>

 我中间用了C标签迭代报错,后来改用S标签迭代几次还是报错,求教大神 多对多这里应该怎么迭代,还是我其他代码错了,谢谢了.
  • 写回答

1条回答 默认 最新

  • baipiang 2017-02-15 13:12
    关注

    这个地方改一下

    @Resource(name="sessionFactory")
    SessionFactory sessionFactory;
    public List findAll(String each,PageUtil page) {
    Session session = sessionFactory.openSession();
    String eachType="%"+each+"%";
    Query query=session.createQuery("select t from Teacher t where t.TName like '"+eachType+"'");
    query.setFirstResult(page.getPageIndex()*page.getPageSize()-page.getPageSize());
    query.setMaxResults(page.getPageSize());

    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题