EL表达式传参数的问题!!!!!!!

例如jsp页面上的表达式是这样的:${lista.方法.属性}我想在方法后面传递个参数但我查过了说EL不支持传递带参数的方法我就是想${lista.方法(参数).属性},... 例如
jsp页面上的表达式是这样的:${lista.方法.属性}
我想在方法后面传递个参数但我查过了说EL不支持传递带参数的方法
我就是想 ${lista.方法(参数).属性} ,高手们有没有什么办法????
描述下大概结构:
表A 结构大概这样:
字段: ID 角色 栏目ID 权限1 权限2
数据: 1 a 1 0 1
2 b 2 1 1

表B是个栏目树:
ID 父ID 栏目名称
字段: 1 0 pname(父名称)
数据: 2 1 sname(子名称)
表A的 栏目ID 字段与表B中主键ID关联

我是在页面上循环出了表B的list,然后我通过表B的ID查询出了那个ID在表A中的权限状态
但我要判断是属于哪个角色的哪个栏目,这样没法知道该栏目和它的权限是属于哪个角色

<c:forEach items="栏目树lista" var="item">
<input type="checkbox" <c:if test="${item.selectCode.权限1==1}"> checked="checked"</c:if>
/>
</c:forEach>

${item.selectcode.权限1} selectcode是栏目树实体类里的一个方法getSelectcode(),
所以我才想在selectcode这里传入一个角色ID呢,看各位所说这种显然不可能了,
跪求其他方法!!!
展开
 我来答
icefire8080
2012-12-01 · TA获得超过252个赞
知道小有建树答主
回答量:325
采纳率:0%
帮助的人:94.4万
展开全部
你是说用EL表达式传递方法参数的问题吧.
这个用EL表达式是实现不了的.

但是有另外一个方式可以实现,用自定义标签。
自己写个标签,然后在页面引用。不过麻烦程度很高,
而且还要会写自定义标签和配置标签以及使用。
所以你自己权衡利弊吧。
希望我可以帮助到你
zhouxin515
推荐于2018-04-30 · TA获得超过108个赞
知道小有建树答主
回答量:116
采纳率:0%
帮助的人:120万
展开全部
简单.
<c:set var="lista">

<jsp:expression>
xxxxx; // jsp代码(如从servlet里面取值等)

</jsp:expression>
<c:set>
这样lista就可以返回你需要的数据了 这样也没有用那些丑陋的< % 等等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jamxval
2012-12-01 · TA获得超过6822个赞
知道大有可为答主
回答量:4308
采纳率:82%
帮助的人:1416万
展开全部
点分表达式是相当于 lista.get方法().getXXX。所以没有参数可用,但你可以在里面写
<% %> 或 <jsp:useBean /> 来读取读取到 lista,但用 lista.方法(参数)这样弄出来。

你在 google code 上的 codesearch 搜索一下那个 EL 标签的源代码就能看到它那个 lista 是放在什么地方,是一个局部变量,它是被放在 pageContex 的 request scope 还是 page scope 或是别的地方。
追问
麻烦有空看下我的问题补充,我很着急啊~我的需求其他方法怎么做啊
追答
我记得 JSF 表达式可以用 map 表示的,比如 
Map marix = new HashMap();

${matrix["key"]) 来查找的,后来 JSF 和 JSP 的 EL 表达式合并成统一的表达式,那应该这种写法也适合 JSTL 的 EL 表达式吧。

假如现在你添加一个方法 Map m = item.getMatrix(); 里面包括你的权限表格。
然后就换成 ${item.matrix["权限1"] == 1} 这样就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
殇wanan
2012-12-03 · 超过24用户采纳过TA的回答
知道答主
回答量:133
采纳率:0%
帮助的人:60.2万
展开全部
EL表达式可以传递参数啊,为什么不可以呢?好像是param传递和接收的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zxyqq070
2012-12-03
知道答主
回答量:76
采纳率:0%
帮助的人:11.3万
展开全部
可以的,只是方法必须是静态的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
545282576
2012-12-03 · TA获得超过124个赞
知道答主
回答量:317
采纳率:0%
帮助的人:182万
展开全部
对你的需求,看的不是很明白。我这有个方式,你可以试试。既然你这里只是做展示用,为什么不用个left join 将两张表的信息合2为一。数据都合并封装在一个对象里就OK,你怎么筛选都行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式