第一、
     我有两个表,一个是“学生表”,一个是“班级表”,在学生表中一个列是学生所属的班级,现在我在JSP中添加一条学生信息的时候,需要先把班级表中的所有的班级查出并循环输出的JSP的下拉菜单中,然后把班级表中对应班级的ID插入到学生表中,应该怎么做 。用的是Struts1框架,如果用JSTL应该怎么做,我不想用在JSP中加《% %》的方式输出。
第二、当要显示这个学生表的时候,需要根据学生表中“所属班级”这一列,在去班级表中查询对应的班级名称,然后显示到JSP页面中,应该怎么做 。如果方便的话,最好给我发写带注释的代码,谢谢、Struts1的标签和JSTL哪个标签好用,一班在企业中,如果要在JSp中输出循环,或者别的JAVA代码,一般是用标签还是用什么。

解决方案 »

  1.   

    第一: <logic:present name="classList">
    <html:select property="classId">
    <logic:iterate id="class" name="classList">
    <html:option value="${class.id}">${class.name}</html:option>
    </logic:iterate>
    </html:select>
    </logic:present>
    第二:将班级类作为学生类的一个属性,2个表联合查询
          public class Student{
              private String id;
              private String name;
              private Classes class;
              ...
         }
         页面显示:
          <logic:iterate id="student" name="studentList">
    <tr>
    <td>${student.name }</td>
    <td>${student.class.name}</td>
    </tr>
    </logic:iterate>
      

  2.   

    我是这么干的
    两个表是有外键关系的
    我使用hibernate的时候,要插一个id时
    是要把这个班级对象插入那个学生表的,
    在下拉框中显示的话
    就使用<label>
    <select name="class_id" size="1" id="class_id">
    <c:forEach items="${requestScope['class.list']}" var="class">
    <option value="${class.id}">
    ${class.name}  
    </option>
    </c:forEach>
    </label>
      

  3.   


    <html:select>应该把这个标签法最外面吧