求助:EL表达式c:out的问题

hope96999 2010-04-01 06:58:02
在jsp页面之间传递参数,第一个页面传过去的假如是:
http://localhost:8080/index.action?aaa=111&bbb=222&ccc=333&ddd=444
在第二个页面使用<c:out value="param"/>可以得到
{aaa=111, bbb=222, ccc=333, ddd=444}
我的问题是如何获取<c:out value="param"/>参数的大小,以及获取每个参数等号前面key以及后面value?

因为页面上的参数个数不确定以及参数的名称不确定,所以想通过方法获取param参数个数以及每个参数的值【key和value】

因为param是Map类,所以我使用<c:out value="param.size()"/>但是报错。
ERROR Message:The function size must be used with a prefix when a default namespace is not specified

想请问一下大家有什么方法,谢谢。
...全文
453 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fskjb01 2010-04-02
  • 打赏
  • 举报
回复
还是用标签的比较好
风起于默 2010-04-02
  • 打赏
  • 举报
回复
用数组或集合接收,然后循环
hope96999 2010-04-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fishrui 的回复:]

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>


长度:${fn:length(param)}<br/>
<c:forEach items="${param}" var="p">
键: ${p.key} 值:${p.value}
</c:forEach>
[/Quote]
这种方法也很好,比较简洁易懂。谢谢,受教了。(*^__^*) ……
hope96999 2010-04-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 believefym 的回复:]

HTML code
<%
Enumeration enum = request.getParameterNames();
while(enum.hasMoreElements()){
String key = (String)enum.nextElement();
String[] paramValues = request.getParameterValues(key);
for……
[/Quote]
非常感谢,这种方法很好用。有一点就是在jdk 1.5之后enum为关键字,把enum改为其他的然后再引入<%@ page import="java.util.*"%>包,就可以实现要求了。谢谢believefym
chenzhaohui555 2010-04-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fishrui 的回复:]
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>


长度:${fn:length(param)}<br/>
<c:forEach items="${param}" v……
[/Quote]

顶一下
ladybirds2008 2010-04-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 believefym 的回复:]

HTML code
<%
Enumeration enum = request.getParameterNames();
while(enum.hasMoreElements()){
String key = (String)enum.nextElement();
String[] paramValues = request.getParameterValues(key);
for……
[/Quote]我查了下,这个还是大有用处的。。。
ladybirds2008 2010-04-02
  • 打赏
  • 举报
回复
学习 受教。。。。
fishrui 2010-04-01
  • 打赏
  • 举报
回复
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>


长度:${fn:length(param)}<br/>
<c:forEach items="${param}" var="p">
键: ${p.key} 值:${p.value}
</c:forEach>
luozhangwen 2010-04-01
  • 打赏
  • 举报
回复
${param.aaa}

长度要么用<%=%>算出来,要不就用struts或者别的标签...
believefym 2010-04-01
  • 打赏
  • 举报
回复
<%
Enumeration enum = request.getParameterNames();
while(enum.hasMoreElements()){
String key = (String)enum.nextElement();
String[] paramValues = request.getParameterValues(key);
for(int i=0;i < paramValues.length;i++){
out.println(key + " : " + paramValues[i]);
}
}
%>
Thinking_In_IT 2010-04-01
  • 打赏
  • 举报
回复
JSTL 里有一组fn(函数)标签 :

JSTL 1.1 新增函数(functions)标签库,主要提供一些好用的字符串处理函数,例如:
fn:contains、fn:containsIgnoreCase、fn:endsWith、fn:indexOf、fn:join、fn:length、
fn:replace、fn:split、fn:startsWith和 fn:substring 等等。

你使用c:out 标签 配合fn标签 就行了,其他的自己google下

不废话了

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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