当前位置:编程学习 > JAVA >>

jsp页面共用

每一次返回的对象集合都是不同的,怎么共用一个jsp页面

就是从后台返回数据,每一次的都一样,但是次和次之间是不同的,如何实现呢

例如第一次我返回的是student的
第二次返回的是class的
第三次返回的是teacher的

这种情况下如何共用jsp页面 jsp 共用 --------------------编程问答-------------------- 返回不同的集合

你在页面取的数据也不是一样是吧? --------------------编程问答--------------------
引用 1 楼 a465606179 的回复:
返回不同的集合

你在页面取的数据也不是一样是吧?


是啊,就是要用一个页面,每一次都显示不同的数据

好比teacher集合可能取名字 入职日期 或者工资
而student集合可能在页面取的就是 名字 和班级之类的 --------------------编程问答-------------------- <c:if>
判断集合的大小


</if>

代码写在判断里面

--------------------编程问答--------------------
引用 3 楼 a465606179 的回复:
<c:if>
判断集合的大小


</if>

代码写在判断里面


....这个你咋通过集合大小来判断 - - 
你根本不可能知道每次发送到jsp页面的集合里有多少对象啊
现在关键是页面的样式啥的怎么搭建 --------------------编程问答-------------------- 后台 

request.setAttribute("studentSzie",studentlist.size());
request.setAttribute("teacherSzie",teacherlist.size());

比如在后台有两个集合  你也不知道哪个集合是有数据
--------------------编程问答--------------------
引用 5 楼 a465606179 的回复:
后台 

request.setAttribute("studentSzie",studentlist.size());
request.setAttribute("teacherSzie",teacherlist.size());

比如在后台有两个集合  你也不知道哪个集合是有数据


后台每次都是返回一个集合 - - 第二次可能返回另外一个集合
不存在没数据啊`````` --------------------编程问答-------------------- <c:if test="${studentSzie>0}">
   <c:forEach var="" item="${}">
      <table>
  <tr></tr>
<table>
   </c:forEach>
</if>

<c:if test="${teacherSzie>0}">
   <c:forEach var="" item="${}">
      <table>
  <tr></tr>
<table>
   </c:forEach>
</if> --------------------编程问答-------------------- 用if语句判断一下,通过的显示,不通过的隐藏即可 --------------------编程问答--------------------
引用 7 楼 a465606179 的回复:
<c:if test="${studentSzie>0}">
   <c:forEach var="" item="${}">
      <table>
  <tr></tr>
<table>
   </c:forEach>
</if>

<c:if test="${teacherSzie>0}">
   <c:forEach var="" item="${}">
      <table>
  <tr></tr>
<table>
   </c:forEach>
</if>


这样只是做了判断```那页面的样式都用一样的么?
数据好取,就是不知道怎么搭建这个页面,根据不同的样式现实不同的模版
如果都用if判断的话,那岂不是要在jsp页面上写好多的样式 --------------------编程问答-------------------- 那楼猪完全可以多写级个jsp页面啊 
 <c:if test="${teacherSzie>0}">
  <jsp:include page="teacher.jsp"></jsp:include> 
 </c:if>

 <c:if test="${studentSize>0}">
  <jsp:include page="student.jsp"></jsp:include> 
 </c:if>
当然 你逻辑代码强的话 写在同一个jsp页面也没有问题,就是太多怕到时候用的乱


--------------------编程问答-------------------- 依照你的需求,就该用多个页面,这样以后维护起来也比较方便 --------------------编程问答--------------------
引用 10 楼 u010016988 的回复:
那楼猪完全可以多写级个jsp页面啊 
 <c:if test="${teacherSzie>0}">
  <jsp:include page="teacher.jsp"></jsp:include> 
 </c:if>

 <c:if test="${studentSize>0}">
  <jsp:include page="student.jsp"></jsp:include> 
 </c:if>
当然 你逻辑代码强的话 写在同一个jsp页面也没有问题,就是太多怕到时候用的乱

+1 你在后台requst下,前台取值判断就可以了。如果只想用一个页面,就在<c:if></c:if>里面写页面代码,就不用 includce 不过还是建议用include来建立多个页面,方便维护。 --------------------编程问答-------------------- 谢谢!!
其实这个是我面试的时候的一个问题
当时实在没想到好办法 =-= 特来请教一下
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,