我想创建一个简单的虚拟标签,它可以与Struts2一起使用。Struts2将action的方法结果传递给自定义标记
我有一个动作:
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
字符串或得到空。
我无法将对象传递给标记属性。
我该怎么做?
很高兴我能帮到你。 :) – 2010-11-05 22:39:12