Java 解析字符串中的变量-JSTL?
我一直在试图弄清楚我所尝试的是否可以使用JSTL。我将以下内容存储在数据库表中Java 解析字符串中的变量-JSTL?,java,jsp,jstl,el,Java,Jsp,Jstl,El,我一直在试图弄清楚我所尝试的是否可以使用JSTL。我将以下内容存储在数据库表中 <c:when test="${row.actionType == 'com'}"> ${row.actionText} </c:when> ${row.actionText} 因此,我将以下字符串存储在表中的一列中 <assign name="LocationID" expr="'${row.locationId}'"/> <submit
<c:when test="${row.actionType == 'com'}">
${row.actionText}
</c:when>
${row.actionText}
因此,我将以下字符串存储在表中的一列中
<assign name="LocationID" expr="'${row.locationId}'"/>
<submit next="/aotg/dynApp" namelist="UserID AppID LocationID"/>
因此,上面的字符串被写入${row.actionText}
并得到解析。但是当然,JSTL中的输出与上面完全相同,没有解析
字符串中的变量${row.locationId}
。你也能以某种方式解决内部变量吗
这样的事情是否可能发生,或者我是否需要硬编码JSTL页面中可能使用的任何参数,而不是尝试从中动态读取
表?包含JSTL的
.jsp
文件被编译成.java
文件,然后被编译成.class
文件并在JVM中运行
由于
c:when
块在编译时不在JSP中,因此当类文件运行时,它只是成为一些输出文本。现在,我只是使用一个映射来解决这个问题。当我有更多的时间时,我会的
看看是否有更优雅的方法来做到这一点
Map<String, String> varMap = new HashMap<String, String>();
varMap.put("#locationId#", locationId.toString());
varMap.put("#mainMenu#", mainMenu);
varMap.put("#userId#", userId.toString());
varMap.put("#appId#", appId.toString());
command = string;
for (Map.Entry<String, String> entry : varMap.entrySet()) {
command = command.replace(entry.getKey(), entry.getValue());
}
Map varMap=newhashmap();
varMap.put(“#locationId#”,locationId.toString());
放置(“#主菜单#”,主菜单);
varMap.put(“#userId#”,userId.toString());
varMap.put(“#appId#”,appId.toString());
命令=字符串;
对于(Map.Entry:varMap.entrySet()){
command=command.replace(entry.getKey(),entry.getValue());
}
谢谢