高分求助JSTL类型转换问题

fenix1983 2008-09-09 10:52:11
<c:forEach items="${map}" var="item" varStatus="s">
其中s.index是int型的,我想将它转换为String类型的并在EL中引用应该怎么写?比如${item[s.index]}。
...全文
1173 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengzhiyin2008 2010-09-19
  • 打赏
  • 举报
回复
${item[fn:trim(s.index)]}
freedomTTT 2008-12-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 fenix1983 的帖子:]
<c:forEach items="${map}" var="item" varStatus="s">
其中s.index是int型的,我想将它转换为String类型的并在EL中引用应该怎么写?比如${item[s.index]}。
[/Quote]


${item[s.index+'']}
gigi_ly180 2008-12-18
  • 打赏
  • 举报
回复
不要问这些“高手”了,水平太高,喜欢问非所答
答案肯定的,没有,fmt也只是用来做输出的,你的需求是作为一个变量,我也遇到这个,我现在的解决办法是在后台直接把类型强制转换过来
fenix1983 2008-09-20
  • 打赏
  • 举报
回复
自己顶。
fenix1983 2008-09-18
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 huhaihong 的回复:]
String.Valueof()
[/Quote]

${item[String.Valueof(s.index)]}不可以这样写的吧?
mysoko 2008-09-17
  • 打赏
  • 举报
回复
做什么?没理解?
huhaihong 2008-09-17
  • 打赏
  • 举报
回复
String.Valueof()
fenix1983 2008-09-16
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 dsgdsg 的回复:]
引用 4 楼 kokobox 的回复:
${item[s.index]}可以直接在jsp中打印

如果你想利用他运算的话可以直接做运算,不做运算可以直接打印,你所说的转型没有意义
@!@
[/Quote]

不可以打印啊,我试过了的。只有${item['0']}这种才可以打印。
dsgdsg 2008-09-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kokobox 的回复:]
${item[s.index]}可以直接在jsp中打印

如果你想利用他运算的话可以直接做运算,不做运算可以直接打印,你所说的转型没有意义
[/Quote]@!@
fenix1983 2008-09-15
  • 打赏
  • 举报
回复
回楼上,首先谢谢你的回答。但是你大概还是没有理解的我意思,我需要根据forEach的行号取到map中的值,我需要判断当前的行号s.index在map中是否有对应的key,然后输出map的value,应该怎么写?
funcreal 2008-09-12
  • 打赏
  • 举报
回复
<%@page import="com.sun.tools.jdi.LinkedHashMap"%>
应该改为java.util.LinkedHashMap,写得太匆忙了。
fosjos 2008-09-12
  • 打赏
  • 举报
回复
楼上正解,用item.key, item.value
另外s.index不是int类型,应该是Integer
varStatus的所有属性都是对象
funcreal 2008-09-12
  • 打赏
  • 举报
回复
map本身就不是按照放入顺序来读取内容的数据结构。
你可以把map声明为LinkedHashMap,这种map在遍历的时候会维持放入元素的顺序。

<%@page contentType="text/html; charset=GBK"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@page import="java.util.HashMap"%>
<%@page import="java.util.Map"%>
<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<%@page import="com.sun.tools.jdi.LinkedHashMap"%>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
Map m = new LinkedHashMap();
m.put("1","a");
m.put("2","b");
m.put("3","c");
m.put("4","d");
request.setAttribute("map",m);
%>
<c:forEach items="${map}" var="item" varStatus="s">
${item.key }:${item.value }<br/>
</c:forEach>
</body>
</html>
fenix1983 2008-09-11
  • 打赏
  • 举报
回复
首先谢谢各位热情相助。
回楼上诸位,因为我打印${item[s.index]}一直为空,但是打印${item['0']}就不为空了,map中有如下的数据[key,value]:["1",value1],["2",value2]等等。我需要根据forEach的行号取到map中的值,应该如何写?
jastby 2008-09-10
  • 打赏
  • 举报
回复
JSTL 和 el 的数据 好像是 泛类型的吧 不需要转
呵-春泥 2008-09-10
  • 打赏
  • 举报
回复
使用EL不是不用关心是什么类型的么?不用转~
dadi5566 2008-09-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jastby 的回复:]
JSTL 和 el 的数据 好像是 泛类型的吧 不需要转
[/Quote]
支持
kokobox 2008-09-10
  • 打赏
  • 举报
回复
${item[s.index]}可以直接在jsp中打印

如果你想利用他运算的话可以直接做运算,不做运算可以直接打印,你所说的转型没有意义
funcreal 2008-09-10
  • 打赏
  • 举报
回复
说一下你的代码的问题。


<c:forEach items="${map}" var="item" varStatus="s">
${item[s.index]}
</c:forEach>
[code]
首先,map是不可能像你这样循环的,应该用${item.key}和${item.value}来取值。
第二,即使是可以循环也应该写成${map[s.index]},而不是${item[s.index]}
第三,s.index可以直接作为整数使用。

请看下面的例子:
[code=HTML]
<%@page contentType="text/html; charset=GBK"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@page import="java.util.HashMap"%>
<%@page import="java.util.Map"%>
<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
Map m = new HashMap();
m.put("1","a");
m.put("2","b");
m.put("3","c");
m.put("4","d");
request.setAttribute("map",m);

List l = new ArrayList();
l.add("1");
l.add("2");
l.add("3");
request.setAttribute("l",l);
%>
<c:forEach items="${l}" var="item" varStatus="s">
${l[s.index]}
</c:forEach>
</body>
</html>
笨沙发 2008-09-10
  • 打赏
  • 举报
回复
你转换的目的是什么呢
数据集可视化效果可参见下方展示。 【数据集概况】 · 检测类别(中文):[保龄球(bowling)] · 训练集:594 张 · 验证集:75 张 · 测试集:74 张 · 总计:743 张 该数据集聚焦于室内保龄球馆场景,系统性采集了多角度、多姿态下保龄球在不同运动阶段的视觉特征,为保龄球运动过程中的球体识别与轨迹分析提供了高质量标注样本,具有明确的体育训练与智能辅助系统开发价值。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 100 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9938** mAP50-95 | 0.6966 Precision | 0.9740 Recall | 0.9974 train/box_loss | 0.9113 train/cls_loss | 0.2862 val/box_loss | 1.1516 val/cls_loss | 0.3116 【训练过程分析】 100 轮训练后 mAP50 达到 0.9938,模型收敛良好。Loss 曲线前段快速下降,后段趋于平稳,val_loss 无反弹,没有明显过拟合。但 mAP50-95 为 0.6966,和 mAP50 差距 0.30,定位精度仍有优化空间。 【模型性能评估】 Precision 0.9740、Recall 0.9974,精召双高,模型对保龄球的检测能力强。 【预测效果展示】 验证集预测效果较好,检测框基本准确覆盖保龄球,置信度整体偏高。 【改进建议】 1. 丰富场景多样性:补充不同光照、背景和遮挡条件下的样本。 2. 提升输入分辨率:640 ...
PaddleOCR 与YOLO目标检测 HTTP 服务。 项目通过 PaddleOCROnnx 原生库集成 OnnxRuntime加速能力,围绕 ONNX 模型部署, 以统一接口提供图像文字识别、YOLO 目标检测和 Tensor 数据输出。 功能概览 文字识别:支持图片 Base64、multipart/form-data 上传,以及文本和 JSON 结果。 目标检测:支持 YOLO 图片检测,返回检测框 JSON 或原始 Tensor。 浏览器演示:访问服务根地址,上传图片并切换 OCR、YOLO 模式。 健康检查:通过 /health 查看服务及 OCR、YOLO 引擎初始化状态。 并发处理:通过 OCR 引擎实例池处理并发请求,可调整实例数量。 体验与调用 启动后访问: 入口 地址 浏览器演示 http://localhost:5000/ 健康检查 http://localhost:5000/health 原生依赖 Windows:优先从 runtimes/win-x64/native/ 加载原生 DLL;该目录没有 PaddleOCROnnx.dll 时,尝试从可执行文件所在目录加载。主 DLL 与对应后端依赖应放在同一原生目录中,不要将同一组依赖分散到多个目录。 Linux:原生运行时位于 runtimes/linux-x64/native/,程序使用相对于可执行文件的运行时搜索路径查找随包部署的依赖。 后端选择:CoreOCROnnx 支持 ONNX Runtime、OpenVINO、TensorRT 后端。请使用与平台、进程架构、硬件和后端匹配的一整套运行时,不要混用不同后端或版本的依赖。

81,108

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧