Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 从字符串计算JSTL表达式_String_Jsp_El - Fatal编程技术网

String 从字符串计算JSTL表达式

String 从字符串计算JSTL表达式,string,jsp,el,String,Jsp,El,是否可以在JSP中将字符串作为EL表达式求值并从中获取值 我需要一个类似于${model.${fieldPath}}的表达式,其中fieldPath将包含嵌套对象模型中所需的对象路径 我可以通过使用获取实际字段路径,但我不确定如何计算字符串并从中获取值 非常感谢您提供的任何帮助。我不确定我是否正确理解了它,但我认为您只需要以下表达: ${model[fieldPath]} 在EL dot中,运算符和订阅基本相同:不同的语法,但访问相同。 ${model.get(fieldPath)}这不是J

是否可以在JSP中将字符串作为EL表达式求值并从中获取值

我需要一个类似于
${model.${fieldPath}}
的表达式,其中fieldPath将包含嵌套对象模型中所需的对象路径

我可以通过使用获取实际字段路径,但我不确定如何计算字符串并从中获取值


非常感谢您提供的任何帮助。

我不确定我是否正确理解了它,但我认为您只需要以下表达:

${model[fieldPath]}
在EL dot中,运算符和订阅基本相同:不同的语法,但访问相同。



${model.get(fieldPath)}

这不是JSTL。这是EL(表达语言)。JSTL标记库如图所示:我已经删除了JSTL标记。感谢您的回复。但在我们的示例中,“fieldPath”值指向一个复杂的结构,如“matrixAssumptions[assumptionId].data[rowName].data[matrixColumns[0]].percentage”。当我尝试使用[]而不是EL-dot时,它无法在对象中找到这样的字段并抛出异常。@Venkatesh:具体是什么异常?如果表达式提供了有效的属性名(即对
${model}
有效),则应该能够将整个表达式放入
${model[…]}
中的括号中。我还在这里寻找答案。如果fieldPath=“mycollection[5]”,由于嵌套的方括号,${model['mycollection[5]']}不起作用,但是${model.mycollection[5]}起作用。错误是:javax.servlet.jsp.JspException:javax.el.PropertyNotFoundException:类'path.to.myModelBean'没有属性'mycollection[5]“.@thetoolman:据我所知,你想要的东西在EL身上是不可能直接实现的。您需要为它编写一些函数(或者JSTL中已经准备好了一些东西,但我不知道,因为我没有使用它)。对我来说,如果没有自定义函数,EL几乎是无用的。顺便说一句,Apache
PropertyBean
提供了对嵌套属性的访问。