Java 嵌入/嵌套自定义JSP标记以设置另一个HTML标记的属性值

Java 嵌入/嵌套自定义JSP标记以设置另一个HTML标记的属性值,java,jsp,websphere,struts,Java,Jsp,Websphere,Struts,我不熟悉Java和struts,我正在从事一个项目,在这个项目中,我需要从检索Java属性值的自定义标记中设置属性值 ... <cust:urlGeneration porlet="<cust:write property="tgtPortlet"/>"> <a href="<% wsp.write(out) %>"/>the link</a> <cust:urlGeneration/> ... 但是它不起作用,por

我不熟悉Java和struts,我正在从事一个项目,在这个项目中,我需要从检索Java属性值的自定义标记中设置属性值

...
<cust:urlGeneration porlet="<cust:write property="tgtPortlet"/>">
  <a href="<% wsp.write(out) %>"/>the link</a>
<cust:urlGeneration/>
...
但是它不起作用,portlet属性没有正确设置(标记字符串没有被解释)

我希望使用
portlet.myFirstValue
portlet.mySecondValue
设置
porlet
属性,但我无法动态设置它

我是需要逃避什么,还是根本不可能?否则,有人有建议或其他解决方案吗

如果需要,我可以提供任何其他信息


谢谢

您不能用这种方式嵌套标签;它需要递归标记处理

这在XML中是相同的–不能将标记用作另一个标记的属性值


属性应该使用普通JSP EL设置。

如果它可以帮助任何人,我发现了一个使用JSLT的解决方法:

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

我使用“write”自定义标记(业务需求)使用java类属性的值设置了一个中间变量:


然后简单地使用这个新变量,使用${myVar}设置我的JSP标记的属性:

<cust:urlGeneration porlet="${varTgtValue}">
  <a href="<% wsp.write(out) %>"/>the link</a>
<cust:urlGeneration/>


谢谢您的回答。这对JSTL有用吗?就像这样:然后使用“${tgtPortletBis}”来设置我的标记属性?@lostreamity应该是,但是使用标记来检索这个值对我来说仍然很奇怪。这些标记来自一个自定义的客户组件库,所以我们必须使用它。我将测试解决方案,并将其标记为已解决(如果有效)。谢谢你的知识
<c:set var="varTgtValue"><cust:write property="tgtValue"/></c:set>
<cust:urlGeneration porlet="${varTgtValue}">
  <a href="<% wsp.write(out) %>"/>the link</a>
<cust:urlGeneration/>