【发布时间】:2010-11-05 18:56:46
【问题描述】:
我想创建可以与 Struts2 一起使用的简单虚拟标签。
我有一个动作:
class MyAction extends ActionSupport{
/**
Some code
*/
public Department getRoot(){
/** Some code foes here...*/
return departmentInstance;
}
}
一个标签:
<%@tag language="java" pageEncoding="UTF-8" body-content="empty" %>
<%@ attribute name="tree" required="true"%>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="p"%>
<p:defineObjects />
<%@tag import="ejb.model.Department"%><%
Object attrTree = pageContext.getAttribute("tree");
System.out.println("TreeTagHelper->tree=["+attrTree+"]");
if(attrTree!=null){
System.out.println("TreeTagHelper->tree.class=["+attrTree.getClass().getName()+"]");
}else{
System.out.println("TreeTagHelper->tree.class=[NULL]");
}
try{
//some code...
}catch(Exception e){
System.out.println("Error while drawing tree["+e.getMessage()+"]");
}
%>
和我的带有标签的jsp:
<%-- pass instance of Department to tag --%>
如果我想将MyAction#getRoot 的结果传递给我的虚拟标签,我该怎么做?
我试过这些:
什么都没有发生,在标签中我得到值为root 的字符串或得到空值。
我无法将对象传递给标记属性。
我做错了什么?
【问题讨论】: