[jboss-user] [Beginners Corner] - Re: jboss-dukes-bank app
pepelara
do-not-reply at jboss.com
Thu Dec 25 06:14:36 EST 2008
Hi,
I was studying my web app and I have got the problem. It is in the class DefinitionTag that extends SimpleTagSupport. In the method,
| public void doTag() {
| try {
| getJspBody()
| .invoke(null);
|
| Definition definition = new Definition();
| PageContext context = (PageContext) getJspContext();
| setScreen(screenId);
| ArrayList params = (ArrayList) screens.get(this.screenId);
| Iterator ir = null;
|
| if (params != null) {
| ir = params.iterator();
|
| int cont = 0;
| while (ir.hasNext()){
| definition.setParam((Parameter) ir.next());
| cont ++;
| }
| Debug.println("DefinitionTag: params defined: " + cont);
|
| // put the definition in the page context
| context.setAttribute(definitionName, definition,
| PageContext.APPLICATION_SCOPE);
| } else {
| Debug.println("DefinitionTag: params are not defined.");
| }
| } catch (Exception ex) {
| ex.printStackTrace();
| }
| }
|
the line ArrayList params = (ArrayList) screens.get(this.screenId); returns null, so the rest of the code
| if (params != null) {
| ir = params.iterator();
|
| int cont = 0;
| while (ir.hasNext()){
| definition.setParam((Parameter) ir.next());
| cont ++;
| }
| Debug.println("DefinitionTag: params defined: " + cont);
|
| // put the definition in the page context
| context.setAttribute(definitionName, definition,
| PageContext.APPLICATION_SCOPE);
| } else {
| Debug.println("DefinitionTag: params are not defined.");
| }
|
returns, on the console, the message: "DefinitionTag: params are not defined." And it is because the value of this.screenId is,
"${requestScope['javax.servlet.forward.servlet_path']}"
that belong to screendefinitions.jspf as follow,
| <%@ taglib uri="SimpleTagLibrary" prefix="tt" %>
| <tt:definition name="bank" screen="${requestScope['javax.servlet.forward.servlet_path']}">
| <tt:screen screenId="/main">
| <tt:parameter name="title" value="Duke's Bank" direct="true"/>
| <tt:parameter name="banner" value="/template/banner.jsp" direct="false"/>
| <tt:parameter name="links" value="/template/links.jsp" direct="false"/>
| <tt:parameter name="body" value="/main.jsp" direct="false"/>
| </tt:screen>
|
| <tt:screen screenId="/transferAck">
| <tt:parameter name="title" direct="true">
| <jsp:attribute name="value" >
| <fmt:message key="TitleTransferSucceeded"/>
| </jsp:attribute>
| </tt:parameter>
| <tt:parameter name="banner" value="/template/banner.jsp" direct="false"/>
| <tt:parameter name="links" value="/template/links.jsp" direct="false"/>
| <tt:parameter name="body" value="/transferAck.jsp" direct="false"/>
| </tt:screen>
|
| <tt:screen screenId="/transferFunds">
| <tt:parameter name="title" direct="true">
| <jsp:attribute name="value" >
| <fmt:message key="TitleTransferFunds"/>
| </jsp:attribute>
| </tt:parameter>
| <tt:parameter name="banner" value="/template/banner.jsp" direct="false"/>
| <tt:parameter name="links" value="/template/links.jsp" direct="false"/>
| <tt:parameter name="body" value="/transferFunds.jsp" direct="false"/>
| </tt:screen>
|
| <tt:screen screenId="/atmAck">
| <tt:parameter name="title" direct="true">
| <jsp:attribute name="value" >
| <fmt:message key="TitleWDSucceeded"/>
| </jsp:attribute>
| </tt:parameter>
| <tt:parameter name="banner" value="/template/banner.jsp" direct="false"/>
| <tt:parameter name="links" value="/template/links.jsp" direct="false"/>
| <tt:parameter name="body" value="/atmAck.jsp" direct="false"/>
| </tt:screen>
|
| <tt:screen screenId="/atm">
| <tt:parameter name="title" direct="true">
| <jsp:attribute name="value" >
| <fmt:message key="TitleWD"/>
| </jsp:attribute>
| </tt:parameter>
| <tt:parameter name="banner" value="/template/banner.jsp" direct="false"/>
| <tt:parameter name="links" value="/template/links.jsp" direct="false"/>
| <tt:parameter name="body" value="/atm.jsp" direct="false"/>
| </tt:screen>
|
| <tt:screen screenId="/accountHist">
| <tt:parameter name="title" direct="true">
| <jsp:attribute name="value" >
| <fmt:message key="TitleAccountHistory"/>
| </jsp:attribute>
| </tt:parameter>
| <tt:parameter name="banner" value="/template/banner.jsp" direct="false"/>
| <tt:parameter name="links" value="/template/links.jsp" direct="false"/>
| <tt:parameter name="body" value="/accountHist.jsp" direct="false"/>
| </tt:screen>
|
| <tt:screen screenId="/accountList">
| <tt:parameter name="title" direct="true">
| <jsp:attribute name="value" >
| <fmt:message key="TitleAccountList"/>
| </jsp:attribute>
| </tt:parameter>
| <tt:parameter name="banner" value="/template/banner.jsp" direct="false"/>
| <tt:parameter name="links" value="/template/links.jsp" direct="false"/>
| <tt:parameter name="body" value="/accountList.jsp" direct="false"/>
| </tt:screen>
|
| <tt:screen screenId="/logoff">
| <tt:parameter name="title" direct="true">
| <jsp:attribute name="value" >
| <fmt:message key="TitleLogoff" />
| </jsp:attribute>
| </tt:parameter>
| <tt:parameter name="banner" value="/template/banner.jsp" direct="false"/>
| <tt:parameter name="links" value="/template/nolinks.jsp" direct="false"/>
| <tt:parameter name="body" value="/logoff.jsp" direct="false"/>
| </tt:screen>
| </tt:definition>
|
I think the value might to be "/main", "/transferFunds", etc...
and this is my problem.
Will you help me?
Merry Christmas,
Jose Alvarez de Lara(Oggie Svennson)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4198510#4198510
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4198510
More information about the jboss-user
mailing list