用struts2标签在jsp页面中取得list的第一个元素

用struts2标签在jsp页面中取得list的第一个元素,第1张

<s:property value="list[0]"/>

修改后的

<s:if test="listMap!=null && listMapsize()>0">

<s:iterator id="data" value="listMap" status="status">

<s:if test="#statusgetIndex()==0">

<s:iterator value="#data">

<s:property value="key"/>

<s:property value="value"/>

</s:iterator>

</s:if>

<s:else>

</s:else>

</s:iterator></s:if>

其中listMap为List<Map<String,Object>>

el表达式和Springmvc没关系,el表达式取值必需是servlet四大作用(servletContext>session>request>pageContext)中有的值,这四个域都有setAttribute("",object)方法和getAttribute("")方法 el表达式 会自动从四大域中按作用范围从小到达寻找搜寻对应名字的值,其内部调用的就是pageContext的findAttribute("")方法;如果要想在页面通过el表达式得到值就必需先调用域的setAttribute方法把值设置进去,不需要什么配置,直接写el表达式就可以如下代码

<% 

applicationsetAttribute("name", "zhangsan");//Context域

sessionsetAttribute("name", "lisi");//session域

requestsetAttribute("name", "wangwu"); //request域

pageContextsetAttribute("name", "zhaoliu");//page域

%>

${name }

输出结果是page域中的zhaoliu 如果将page域删掉则输出wangwu 依次类推

哥们 这是javaee基础知识 建议学好基础在整框架 不然只会傻瓜式的复制粘贴 不知道内部工作原理

第一步骤:问题总结:

el表达式默认获取的是java实体对象和map,list等集合中的数据,

如map 通过键名获取value  ${key}

list 则通过循环类似for一样展示

<c:forEach items="${dataListMap}" var="item">

<li>

<div>${itemid}</div> 

<div>${itemcontent}</div> 

</li>

${itemcontent} 现在获取的是一个json字符串 一个办法是通过截取获得(实现问题过多,不灵活不推荐),一个是在后台利用json *** 作将其转为map或者对应的实体类(参考第一点)。

第一种:json格式数据的传递(一般使用ajax)。

如果你想要

1、 *** 作json数据格式第一种可以参考:

网页链接

import comalibabafastjsonJSON;

public static void main(String[] args) {

   //创建一个对象并将 给对象赋值

   Student st = new Student();

   stsetId(1);

   stsetName("张三");

   stsetSex("男");

   //使用fastjson转化为json字符串

  String studentJson = JSONtoJSONString(st);

  Systemoutprintln(studentJson);

   //将json字符串转为实体对象

  Student changeStudent = JSONparseObject(studentJson,Studentclass);

  Systemoutprintln(changeStudentgetName())

}

2、 *** 作json数据格式第二种可以参考:

网页链接

import javautilList;

42 关键代码:

public static void testList(){    

//将集合对象转为json对象,json字符串    

List<Student> list= new ArrayList<Student>();    

Student st = new Student();    

stsetId(1);    

stsetName("张三");    

stsetSex("男");    

Student st2 = new Student();    

st2setId(2);    

st2setName("小丽");    

st2setSex("女");    

listadd(st);   

listadd(st2);    

//将类转为json对象    

JSONArray array=JSONArrayfromObject(list);    

Systemoutprintln(arraytoString());    

//将json对象转为对应的集合类    

JSONArray arrayBean = JSONArrayfromObject(arraytoString());    

List<Student> listBean = (List<Student>) JSONArraytoCollection(arrayBean,Studentclass);    

//输出转换后的结果    

for (Student lst: listBean) {        

Systemoutprintln("name:"+lstgetName());    

}

}

3、使用ajax调用接收后台数据:

31 使用jquery的ajax 和servlet网页链接

32 使用原生js实现异步调用获取servlet数据:网页链接

第二种:将json对象转为实体类(转换方式参考第一种),并将实体类放入request或者session作用域中。

前端jsp页面引入cjstl表达式:

<%@ taglib uri=">

将数据放入request作用域中:

以上就是关于用struts2标签在jsp页面中取得list的第一个元素全部的内容,包括:用struts2标签在jsp页面中取得list的第一个元素、JSP中el表达式的取值过程是怎样的、java el表达式问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9352777.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存