在尝试使用自定义JSP标记库时,我在JSP中定义了一个变量,我想在传递给标记库之前对其进行评估.但是,我似乎无法让它发挥作用.这是我的JSP的简化版本:
我的TagHandler的doStartTag()方法使用pageContext的输出流根据输入的属性进行写入:
public int doStartTag() {
...
out.println("Foo: " + this.myAttribute);
}
但是,我在最终标记中看到的输出是:
Foo: something_
而不是我想要的:
Foo: something_8
我对该属性的标记库定义是:
myAttribute
true
我试图用rtexprvalue配置属性true和false,但都没有工作.有没有办法可以配置属性,以便在发送给Handler之前对其进行评估?或者我是否完全错了?
我对JSP标签比较新,所以我愿意接受解决这个问题的替代方案.另外,我意识到在JSP中使用scriptlet是不受欢迎的,但是我在这里使用了一些遗留代码,所以我现在有点困惑.
编辑:
我也尝试过:
这也不起作用 – 只输出一些_ ${index}.
解决方法:
我不相信你可以使用在自定义标记的属性中,除非您的是属性值的全部内容.以下是否适合您?
编辑:我相信自定义标记属性中只能包含变量名称.不是任何Java表达式.
标签:jsp-tags,java,jsp
来源: https://codeday.me/bug/20190726/1548088.html