Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.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
Java 内部自定义html<;显示:列></显示:cloumn>;_Java_Html_Jsp_Jstl_Displaytag - Fatal编程技术网

Java 内部自定义html<;显示:列></显示:cloumn>;

Java 内部自定义html<;显示:列></显示:cloumn>;,java,html,jsp,jstl,displaytag,Java,Html,Jsp,Jstl,Displaytag,我想知道是否有可能在列标记内部呈现自定义html,这是显示表标记的一部分 例如,我希望我的colum中有一些下拉列表 使用普通html,如下所示: <table> ... <tr> <td> <select> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="m

我想知道是否有可能在列标记内部呈现自定义html,这是显示表标记的一部分

例如,我希望我的colum中有一些下拉列表

使用普通html,如下所示:

<table>
...
<tr>
<td>
<select>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select> 
</td>
</tr>
</table>

当然,从显示列标记中删除escapeXml=“true”。

是的,当然可以。报告说:

显示表中行对象的特性。必须嵌套在表标记的内部。显示的值将是装饰器的结果(如果有);否则为“property”属性命名的属性;或者,如果“property”属性为null,则计算标记的JSP主体的结果


(强调我的)

是的,当然有可能。报告说:

显示表中行对象的特性。必须嵌套在表标记的内部。显示的值将是装饰器的结果(如果有);否则为“property”属性命名的属性;或者,如果“property”属性为null,则计算标记的JSP主体的结果


(emphasis mine)

您可以在对象的属性中设置HTML字符串。例如,您可以在${displayelm.name}中设置HTML。它将在网格中生成一个组合框

setName("<select><option value=\"JS\">John Seam<option></select>");
setName(“johnseam”);

您可以在对象的属性中设置HTML字符串。例如,您可以在${displayelm.name}中设置HTML。它将在网格中生成一个组合框

setName("<select><option value=\"JS\">John Seam<option></select>");
setName(“johnseam”);

我会将此作为备份计划,目前我正在尝试实现表装饰器,我认为它可能会解决我的问题。谢谢你的提示。顺便说一句,欢迎你。如果你喜欢这个提示,别忘了接受/同意答案。:)使用decorator我得到了html,但它没有呈现为html,就像字符串一样,这样我可以看到我表中的代码,我会试试这个,如果它有效,我会给你的答案投票别担心:-)我会把它作为备份计划,在我试图实现表decorator的那一刻,我想它可能会解决我的问题。谢谢你的提示。顺便说一句,欢迎你。如果你喜欢这个提示,别忘了接受/同意答案。:)使用decorator我得到了html,但它没有呈现为html,就像字符串一样,所以我可以在我的表中看到代码,我会试试这个,如果它有效,我会给你的答案投票别担心:-)是的,decorator可能是解决方案,我会调查它。谢谢你不需要装饰师。您只需将所需内容放入column标记中。阅读我在描述中加粗的内容。它不是在显示表标记中呈现html,而是在我尝试这样做时得到空白单元格。删除escapeXml=“true”,因为您不希望标记转义XML。您是对的,那些escapeXml标记阻止它显示html标记。。。它现在起作用了,我会接受这个答案。谢谢你帮我解决这个问题。是的,装饰师可能是解决方案,我会调查的。谢谢你不需要装饰师。您只需将所需内容放入column标记中。阅读我在描述中加粗的内容。它不是在显示表标记中呈现html,而是在我尝试这样做时得到空白单元格。删除escapeXml=“true”,因为您不希望标记转义XML。您是对的,那些escapeXml标记阻止它显示html标记。。。它现在起作用了,我会接受这个答案。谢谢你帮我解决这个问题。
<display:column 
       sortable="true" titleKey="errorHandler.${displayElem.name}"
       style="width: ${displayElem.length}" >
     <select>
       <option value="volvo">Volvo</option>
       <option value="saab">Saab</option>
       <option value="mercedes">Mercedes</option>
       <option value="audi">Audi</option>
     </select> 
</display:column>
public class YourDecorationClass extends TableDecorator {

    public String getAction() {
        String code = "";

        code = "<select>" +
                "<option value='volvo'>Volvo</option>" +
                "<option value='volvo'>Saab</option>" +
                "<option value='volvo_RETRY'>Mercedes_RETRY</option>" +
                "<option value='audi'>Audi</option>";

        return code;
    }
}
decorator="com.yourpackage.util.table.YourDecorationClass"
setName("<select><option value=\"JS\">John Seam<option></select>");