Netui:error tag uses deprecated ActionError
Can anyone tell me if there's a good reason why netui:error tag refers to the deprecated ActionError as opposed to ActionMessage?
It means I cannot do this as I get a ClassCastException:
<pre>
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
errors.add("test", new ActionMessage("someError"));
return errors;
</pre>
Instead I am forced to use a deprecated class. As ActionError inherits from ActionMessage, I can't really see why it is referenced.
Regards
James
I also encountered the same issue when I was working with this issue. I could not figure out how to do it so I came with a work around maybe this will help you.
In my JSP I use the following code:
<%
// this part gets the i18n messages which netui:errors tags are not capable of
ActionErrors actionerrors = (ActionErrors)request.getAttribute("org.apache.struts.action.ERROR");
if(actionerrors != null)
%>
<i18n:getMessage messageName="errors.header" />
<%
Iterator it = actionerrors.get();
while(it.hasNext())
ActionError e = (ActionError) it.next();
%>
<i18n:getMessage messageName="errors.prefix" />
<i18n:getMessage messageName="<%=e.getKey()%>" />
<i18n:getMessage messageName="errors.suffix" />
<%
%>
<i18n:getMessage messageName="errors.footer" />
<%
%>
Similar Messages
-
hi
i have the following code in one of my JSP
<b><%
String localeAttrName = I18NConstants.LOCALE;
Locale locale = (Locale) session.getAttribute(localeAttrName);
%></b>
And i call below tag
<b><netui:errors locale="<%=localeAttrName%>"/></b>
When i compile i am getting error saying
"This attribute does not support request time values"
Any ideas ?
Regards
DPSorry here is the correct format
OracleJSP: oracle.jsp.parse.JspParseException: Line # 58, <ejb:getSysTypes searchCriteria="test" return = "ret" />
Error: Attribute: _return is not a valid attribute name -
I am using Weblogic server 8.1 and have a struts app. I am using the random taglib
from jarkarta and recieving this error while using weblogic. With the same setup
in tomcat everything works fine. What do I need to do special for weblogic?
ERROR FROM WEBLOGIC
/control/register/newMember.jsp(1): Error in using tag library uri='http://jakarta.apache.org/taglibs/random-1.0'
prefix='randME': For tag 'string', cannot load extra info class 'org.apache.taglibs.random.RandomStrgTEI'
probably occurred due to an error in /control/register/newMember.jsp line 1:
<%@ taglib uri="http://jakarta.apache.org/taglibs/random-1.0" prefix="randME"
%>
taglibs-random.jar is in WEB-INF/lib
random.tld is in WEB-INF
the taglib include in my jsp looks like this:
<%@ taglib uri="http://jakarta.apache.org/taglibs/random-1.0" prefix="randME"
%>
the call in my jsp looks like this:
<randME:number id="random1" range="10000000-99999999"/>
my web.xml looks like this:
<taglib>
<taglib-uri>http://jakarta.apache.org/taglibs/random-1.0</taglib-uri>
<taglib-location>/WEB-INF/random.tld</taglib-location>
</taglib>
any help would be appreciated
This may not solve your problem, but WL8.1 SP1 seems to have a problem with
closing tags.
Where you are using:
<randME:number id="random1" range="10000000-99999999"/>
...try this instead:
<randME:number id="random1" range="10000000-99999999"></randME:number>
This problem is fixed in SP2.
-- Craig
"ssandy" <[email protected]> wrote in message news:[email protected]...
>
> I am using Weblogic server 8.1 and have a struts app. I am using the
random taglib
> from jarkarta and recieving this error while using weblogic. With the
same setup
> in tomcat everything works fine. What do I need to do special for
weblogic?
>
> ERROR FROM WEBLOGIC
>
> /control/register/newMember.jsp(1): Error in using tag library
uri='http://jakarta.apache.org/taglibs/random-1.0'
> prefix='randME': For tag 'string', cannot load extra info class
'org.apache.taglibs.random.RandomStrgTEI'
> probably occurred due to an error in /control/register/newMember.jsp line
1:
> <%@ taglib uri="http://jakarta.apache.org/taglibs/random-1.0"
prefix="randME"
> %>
>
> taglibs-random.jar is in WEB-INF/lib
> random.tld is in WEB-INF
>
> the taglib include in my jsp looks like this:
> <%@ taglib uri="http://jakarta.apache.org/taglibs/random-1.0"
prefix="randME"
> %>
>
> the call in my jsp looks like this:
> <randME:number id="random1" range="10000000-99999999"/>
>
> my web.xml looks like this:
> <taglib>
> <taglib-uri>http://jakarta.apache.org/taglibs/random-1.0</taglib-uri>
> <taglib-location>/WEB-INF/random.tld</taglib-location>
> </taglib>
>
> any help would be appreciated
-
Error in using struts tag library
Platform information:
Windows XP
BEA Weblogic Server 8.1 (Developer)
Struts 1.1
I am unable to compile the following JSP in weblogic because it says there is
an error using the struts-html tag library. (Details about the error are mentioned
after the JSP)
My JSP file is:
===================================================================
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri='/WEB-INF/struts-template.tld' prefix='template' %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ page import="com.hipaaccelerator.runtime.HARuntime" %>
<jsp:useBean id='logonForm' scope='request' class='com.hipaaccelerator.hipaax.form.LogonForm'/>
<html:html>
<head>
<title>Logon</title>
<link rel='stylesheet' href="<html:rewrite page='/styles/default.css'/>" type='text/css'
>
<script language='javascript' src="<html:rewrite page='/scripts/default.js'/>"
type='text/javascript'></script>
</head>
<body>
<html:form action='/logon.do' >
<table border='0' align='center' >
<tr><td height='10'></td></tr>
<tr>
<td align='center'>
<html:img src='/images/Logo.gif' height='70'
width='449'/>
</td>
</tr>
<tr><td height='10'></td></tr>
</table>
<table align='center' width='100%' >
<tr><td height='10'></td></tr>
<tr>
<td height='20' width='10%'> </td>
<td height='20' colspan='3' align='center' style="font-size: 18pt; color:
blue;
background-color: white; text-align:center">PAC
</td>
<td height='20' width='10%'> </td>
</tr>
<tr><td height='10'></td></tr>
<tr>
<td height='20' width='10%'> </td>
<td height='20' width='8%'> </td>
<td height='20' align='center' style="border-style:solid; border-width:2pt;
font-
size: 10pt; color: red; background-color: white; text-align:center">
<%= HARuntime.instance().getConfig().getProperty("logonAnnouncement")
%>
</td>
<td height='20' width='8%'> </td>
<td height='20' width='10%'> </td>
</tr>
<tr><td height='10'></td></tr>
</table>
<table border='0' align='center' >
<tr>
<td class='formfieldname' ><b>User Name: </td>
<td class='formfield'>
<html:text property='username' maxlength='20' size='20'/>
</td>
</tr>
<tr><td class='formfieldspacer'></td></tr>
<td class='formfieldname' ><b>Password:</b> </td>
<td class='formfield'>
<html:password property="password" size="20" maxlength="20"
redisplay="false"/>
</td>
</tr>
<tr><td class='formfieldspacer'></td></tr>
<tr>
<td colspan='2' align='middle'>
<html:image src='/images/login.gif' onclick='document.forms[0].submit();
return false;' />
</td>
</tr>
</table>
<br><br>
</html:form>
</body>
</html:html>
===================================================================
The translation of this page fails with the following error:
<Dec 16, 2003 5:06:13 PM MST> <Error> <HTTP> <BEA-101045> <[ServletContext(id=4595,name=hipaax,context-path=/hipaax)]
translation of /logon.jsp failed:
weblogic.servlet.jsp.JspException: (line 1): Error in using tag library uri='/WEB-INF/struts-html.tld'
prefix='html': The Tag class 'org.apache.struts.taglib.html.BaseTag' has no setter
method corresponding to TLD declared attribute 'server', (JSP 1.1 spec, 5.4.1)>
===================================================================
I have struts.jar in /web-inf/lib. I have taglib (uri and location) definitions
in web.xml.I have all the struts tld files under /web-inf. Is there anything
else I have to do?
Any help would be greatly appreciated.
Thank you.
SharmilaUpdate: I just looked up the WL version and it's 8.1 sp3
So, I guess, JSTL 1.1 (which includes jstl fn tags) is not supported by WL.... Someone correct me if I am wrong.
Thanks,
pal :) -
Error in using tag library uri='weblogic.tld'
Hmmm...
I'm trying to config my userprofile by creating it in the tools application (myserver/tools/index.jsp),
but when I try to access the Unified Profile Types I get an Error 500 Internal
Server Error in my webbrowser. The weblogic.log prints out an errormessage that
sounds something like this:
####<30-Aug-01 16:30:14 CEST> <Error> <HTTP> <Ast-WT01> <server01> <ExecuteThread:
'14' for queue: 'default'> <system> <> <101020> <[WebAppServletContext(3530676,tools)]
Servlet failed with Exception>
weblogic.servlet.jsp.JspException: (line 24): Error in using tag library uri='weblogic.tld'
prefix='wl': For tag 'repeat', cannot load extra info class 'weblogicx.jsp.tags.RepeatTagInfo'
I'm running weblogic 6.0 and wlcs 3.5. I'm sure of that the tag libraries are
correct and they are located under tools/web-inf.Hmmm...
I'm trying to config my userprofile by creating it in the tools application (myserver/tools/index.jsp),
but when I try to access the Unified Profile Types I get an Error 500 Internal
Server Error in my webbrowser. The weblogic.log prints out an errormessage that
sounds something like this:
####<30-Aug-01 16:30:14 CEST> <Error> <HTTP> <Ast-WT01> <server01> <ExecuteThread:
'14' for queue: 'default'> <system> <> <101020> <[WebAppServletContext(3530676,tools)]
Servlet failed with Exception>
weblogic.servlet.jsp.JspException: (line 24): Error in using tag library uri='weblogic.tld'
prefix='wl': For tag 'repeat', cannot load extra info class 'weblogicx.jsp.tags.RepeatTagInfo'
I'm running weblogic 6.0 and wlcs 3.5. I'm sure of that the tag libraries are
correct and they are located under tools/web-inf. -
Error while using pt:standard.choose tag
Hi,
I am getting error while using the ALUI 6.5 Adaptive tags. The details are given below. Can anyone help?
The code I am using is
<pt:standard.choose>
<pt:standard.when pt:test="stringToACLGroup('user=13009;').isMember($currentUser)">
<div class="ali-portlet-controlone">Adit</div>
<pt:logic.value pt:value="$currentUser"/>
<pt:logic.value pt:value="checking Tags"/>
</pt:standard.when>
</pt:standard.choose>
Also I checked for the variable $currentUser and it was displaying null so I set the variable as
<pt:logic.variable pt:key="currentUser" pt:value="13009"/>
I aslo checked by giving the group id in stringToACLGroup('group=301;') but same result.
The stack trace is ::
<!--Error displaying tag when in library standard. String index out of range: -19: com.plumtree.openfoundation.util.XPIndexOutOfBoundsException: String index out of range: -19
at com.plumtree.openfoundation.util.XPException.GetInstance(XPException.java:403)
at com.plumtree.openfoundation.util.XPException.GetInstance(XPException.java:350)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:165)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.ProcessTagBody(TagHelper.java:124)
at com.plumtree.portaluiinfrastructure.tags.ATag.ProcessTagBody(ATag.java:401)
at com.plumtree.taglib.standard.ChooseTag.DisplayTag(ChooseTag.java:110)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.DisplayTag(TagHelper.java:1231)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:145)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.ProcessTagBody(TagHelper.java:124)
at com.plumtree.portaluiinfrastructure.tags.ATag.ProcessTagBody(ATag.java:401)
at com.plumtree.taglib.logic.IfFalseTag.DisplayTag(IfFalseTag.java:75)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.DisplayTag(TagHelper.java:1231)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:145)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.ProcessTagBody(TagHelper.java:124)
at com.plumtree.portaluiinfrastructure.tags.ATag.ProcessTagBody(ATag.java:401)
at com.plumtree.taglib.logic.IfTag.DisplayTag(IfTag.java:71)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.DisplayTag(TagHelper.java:1231)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:145)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.ProcessTagBody(TagHelper.java:124)
at com.plumtree.portaluiinfrastructure.tags.ATag.ProcessTagBody(ATag.java:401)
at com.plumtree.taglib.core.HTMLTag.DisplayTag(HTMLTag.java:78)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.DisplayTag(TagHelper.java:1231)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:145)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.ProcessTagBody(TagHelper.java:124)
at com.plumtree.portaluiinfrastructure.tags.ATag.ProcessTagBody(ATag.java:401)
at com.plumtree.taglib.core.HTMLTag.DisplayTag(HTMLTag.java:78)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.DisplayTag(TagHelper.java:1231)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:145)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.ProcessTagBody(TagHelper.java:124)
at com.plumtree.portaluiinfrastructure.tags.ATag.ProcessTagBody(ATag.java:401)
at com.plumtree.taglib.logic.ForEachTag.DisplayTag(ForEachTag.java:162)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.DisplayTag(TagHelper.java:1231)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:145)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.ProcessTagBody(TagHelper.java:124)
at com.plumtree.portaluiinfrastructure.tags.ATag.ProcessTagBody(ATag.java:401)
at com.bea.alui.taglib.portletpage.PortletRegionDisplayTag.DisplayTag(PortletRegionDisplayTag.java:91)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.DisplayTag(TagHelper.java:1231)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:145)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.displaytree.DisplayTree.ExecuteTags(DisplayTree.java:235)
at com.plumtree.portaluiinfrastructure.tags.displaytree.DisplayTree.ProcessTagMarkup(DisplayTree.java:39)
at com.plumtree.portaluiinfrastructure.layout.impl.LayoutDisplay.ProcessLayout(LayoutDisplay.java:24)
at com.plumtree.portalpages.common.uiparts.PlumtreeDP.DisplayLayout(PlumtreeDP.java:243)
at com.plumtree.portalpages.browsing.myportal.MyPortalDP.PageDisplay(MyPortalDP.java:166)
at com.bea.alui.taglib.basepage.ContentTag.DisplayTag(ContentTag.java:71)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.DisplayTag(TagHelper.java:1231)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:145)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.ProcessTagBody(TagHelper.java:124)
at com.plumtree.portaluiinfrastructure.tags.ATag.ProcessTagBody(ATag.java:401)
at com.bea.alui.taglib.basepage.PageBodyTag.DisplayTag(PageBodyTag.java:135)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.DisplayTag(TagHelper.java:1231)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:145)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.displaytree.DisplayTree.ExecuteTags(DisplayTree.java:235)
at com.plumtree.portaluiinfrastructure.tags.displaytree.DisplayTree.ProcessTagMarkup(DisplayTree.java:39)
at com.plumtree.portaluiinfrastructure.layout.impl.LayoutDisplay.ProcessLayout(LayoutDisplay.java:24)
at com.plumtree.portaluiinfrastructure.layout.impl.LayoutDisplay.ProcessMainPageLayout(LayoutDisplay.java:44)
at com.plumtree.portalpages.common.uiparts.PlumtreeDP.DisplayLayout(PlumtreeDP.java:240)
at com.plumtree.portalpages.common.uiparts.PlumtreeDP.DisplayLayout(PlumtreeDP.java:219)
at com.plumtree.portalpages.common.uiparts.PlumtreeDP.Display(PlumtreeDP.java:151)
at com.plumtree.uiinfrastructure.interpreter.Interpreter.HandleDisplayPage(Interpreter.java:2140)
at com.plumtree.uiinfrastructure.interpreter.Interpreter.HandleRequest(Interpreter.java:657)
at com.plumtree.uiinfrastructure.interpreter.Interpreter.DoService(Interpreter.java:190)
at com.plumtree.uiinfrastructure.web.XPPage.service(XPPage.java:300)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3495)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -19
at java.lang.String.substring(String.java:1938)
at com.plumtree.taglib.standard.WhenTag.DisplayTag(WhenTag.java:72)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.DisplayTag(TagHelper.java:1231)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:145)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.ProcessTagBody(TagHelper.java:124)
at com.plumtree.portaluiinfrastructure.tags.ATag.ProcessTagBody(ATag.java:401)
at com.plumtree.taglib.standard.ChooseTag.DisplayTag(ChooseTag.java:110)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.DisplayTag(TagHelper.java:1231)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:145)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.ProcessTagBody(TagHelper.java:124)
at com.plumtree.portaluiinfrastructure.tags.ATag.ProcessTagBody(ATag.java:401)
at com.plumtree.taglib.logic.IfFalseTag.DisplayTag(IfFalseTag.java:75)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.DisplayTag(TagHelper.java:1231)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:145)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.ProcessTagBody(TagHelper.java:124)
at com.plumtree.portaluiinfrastructure.tags.ATag.ProcessTagBody(ATag.java:401)
at com.plumtree.taglib.logic.IfTag.DisplayTag(IfTag.java:71)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.DisplayTag(TagHelper.java:1231)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:145)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.ProcessTagBody(TagHelper.java:124)
at com.plumtree.portaluiinfrastructure.tags.ATag.ProcessTagBody(ATag.java:401)
at com.plumtree.taglib.core.HTMLTag.DisplayTag(HTMLTag.java:78)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.DisplayTag(TagHelper.java:1231)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:145)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.ProcessTagBody(TagHelper.java:124)
at com.plumtree.portaluiinfrastructure.tags.ATag.ProcessTagBody(ATag.java:401)
at com.plumtree.taglib.core.HTMLTag.DisplayTag(HTMLTag.java:78)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.DisplayTag(TagHelper.java:1231)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:145)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.ProcessTagBody(TagHelper.java:124)
at com.plumtree.portaluiinfrastructure.tags.ATag.ProcessTagBody(ATag.java:401)
at com.plumtree.taglib.logic.ForEachTag.DisplayTag(ForEachTag.java:162)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.DisplayTag(TagHelper.java:1231)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:145)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.ProcessTagBody(TagHelper.java:124)
at com.plumtree.portaluiinfrastructure.tags.ATag.ProcessTagBody(ATag.java:401)
at com.bea.alui.taglib.portletpage.PortletRegionDisplayTag.DisplayTag(PortletRegionDisplayTag.java:91)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.DisplayTag(TagHelper.java:1231)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:145)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.displaytree.DisplayTree.ExecuteTags(DisplayTree.java:235)
at com.plumtree.portaluiinfrastructure.tags.displaytree.DisplayTree.ProcessTagMarkup(DisplayTree.java:39)
at com.plumtree.portaluiinfrastructure.layout.impl.LayoutDisplay.ProcessLayout(LayoutDisplay.java:24)
at com.plumtree.portalpages.common.uiparts.PlumtreeDP.DisplayLayout(PlumtreeDP.java:243)
at com.plumtree.portalpages.browsing.myportal.MyPortalDP.PageDisplay(MyPortalDP.java:166)
at com.bea.alui.taglib.basepage.ContentTag.DisplayTag(ContentTag.java:71)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.DisplayTag(TagHelper.java:1231)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:145)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.ProcessTagBody(TagHelper.java:124)
at com.plumtree.portaluiinfrastructure.tags.ATag.ProcessTagBody(ATag.java:401)
at com.bea.alui.taglib.basepage.PageBodyTag.DisplayTag(PageBodyTag.java:135)
at com.plumtree.portaluiinfrastructure.tags.helper.TagHelper.DisplayTag(TagHelper.java:1231)
at com.plumtree.portaluiinfrastructure.tags.displaytree.TagDisplayElement.Display(TagDisplayElement.java:145)
at com.plumtree.portaluiinfrastructure.tags.displaytree.CompositeDisplayElement.Display(CompositeDisplayElement.java:66)
at com.plumtree.portaluiinfrastructure.tags.displaytree.DisplayTree.ExecuteTags(DisplayTree.java:235)
at com.plumtree.portaluiinfrastructure.tags.displaytree.DisplayTree.ProcessTagMarkup(DisplayTree.java:39)
at com.plumtree.portaluiinfrastructure.layout.impl.LayoutDisplay.ProcessLayout(LayoutDisplay.java:24)
at com.plumtree.portaluiinfrastructure.layout.impl.LayoutDisplay.ProcessMainPageLayout(LayoutDisplay.java:44)
at com.plumtree.portalpages.common.uiparts.PlumtreeDP.DisplayLayout(PlumtreeDP.java:240)
at com.plumtree.portalpages.common.uiparts.PlumtreeDP.DisplayLayout(PlumtreeDP.java:219)
at com.plumtree.portalpages.common.uiparts.PlumtreeDP.Display(PlumtreeDP.java:151)
at com.plumtree.uiinfrastructure.interpreter.Interpreter.HandleDisplayPage(Interpreter.java:2140)
at com.plumtree.uiinfrastructure.interpreter.Interpreter.HandleRequest(Interpreter.java:657)
at com.plumtree.uiinfrastructure.interpreter.Interpreter.DoService(Interpreter.java:190)
at com.plumtree.uiinfrastructure.web.XPPage.service(XPPage.java:300)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3495)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Edited by: user590322 on Oct 29, 2009 12:22 AMProper usage:
<pt:standard.choose>
<pt:when pt:test="stringToACLGroup('user=1;').isMember($currentuser)">
... secret administrator content ...
</pt:when>
</pt:standard.choose>
Note that it's pt:when and not pt:standard.when. Also, Joel is right -- I think $currentuser is case sensitive.
Chris Bucchere
http://bucchere.com
http://twitter.com/bucchere -
Error: Illegal use of when -style tag without choose as its direct paren
Hi,
I'm using the Code:
<c:choose>
<c:when test="${empty param.usernaseme}" >
<B>Hello <c:out value="${param.usernaseme}" /></B>
</c:when>
<c:otherwise>
unknown user name.
</c:otherwise>
</c:choose>
and keep geting the Error:
Illegal use of <when>-style tag without <choose> as its direct parent
As far as know
the code is OK.
Declare Is OK (Other thigs using <c:out /> working)
thanks for your halp
ShimonHi,
I'm using the Code:
<c:choose>
<c:when test="${empty param.usernaseme}" >
<B>Hello <c:out value="${param.usernaseme}" /></B>
</c:when>
<c:otherwise>
unknown user name.
</c:otherwise>
</c:choose>
and keep geting the Error:
Illegal use of <when>-style tag without <choose> as its direct parent
As far as know
the code is OK.
Declare Is OK (Other thigs using <c:out /> working)
thanks for your halp
Shimon -
Previously my web app was running fine using eclipse 3.1
When I upgraded my eclipse to 3.2 then built the same web app and deployed, upon running the url i got error
weblogic.servlet.jsp.JspException: (line 1): Error in using tag library uri='/tags/css' prefix='css' : cannot find tag class
Your help is appreciated.Hi Guys
Problem is almost certainly because I've gone and defined the get as returning
an int, (hence no property!)
Apols
J
-
Write to java object using netui:select tag
Hello,
I am iterating through a hashmap of java objects using a netui-data:repeater.
<netui-data:repeater dataSource="{pageFlow.MyHashMap}">
<netui-data:repeaterItem>
<netui-data:repeater dataSource= "{container.item.HashMapOfEmbeddedObjects}">
<netui-data:repeaterItem>
<netui:select dataSource= "{container.item.type}" optionsDataSource= "{container.item.typeChoices}" /> </td>
<netui:select dataSource= "{container.item.default}"
optionsDataSource= "{container.item.defaultChoices}" /> </td>
</netui-data:repeaterItem>
</netui-data:repeater>
</netui-data:repeaterItem>
</netui-data:repeater>
The java object has a field "HashMapOfEmbeddedObjects" that is itself a hashmap of java objects. I want to be able to make a selection and have it be written to the
"type" and "default" fields of the embedded objects, but dataSource="{container.item.default}" does not save the value of the selection.
Is there anyway to use the netui:select tag to write to the field on a java object? Any help is greatly appreciated.I have done it in the past. The java object need not be actionForm. The following write-up I found in edocs will help you achieve this.
Page Flow-Scoped Form Beans
Page Flow-scoped Form Bean instances have the same life-cycle as the Controller file instance. They are created and destroyed when the Controller file instance is created and destroyed. This makes Page Flow-scoped Form Beans useful for storing data that has been accumulated across many different JSP pages.
To create a Page Flow-scoped Form Bean instance, construct a public member variable of the Form Bean in the Controller file.
public class myController extends PageFlowController
public MyFormBean pageFlowScopedBean = new MyFormBean();
Once you have created a Page Flow-scoped instance of a Form Bean, you can pass the instance to action methods by using the @action form="form_bean" annotation.
public class myController extends PageFlowController
public MyFormBean pageFlowScopedBean = new MyFormBean();
* @jpf:action form="pageFlowScopedBean"
* @jpf:forward name="success" path="displayData.jsp"
protected Forward submit( MyFormBean form )
return new Forward( "success" );
Each time the submit() method is invoked, it is passed the same instance of the Form Bean, namely, pageFlowScopedBean, the instance that was created when the Controller file instance was created.
For more info go to http://e-docs.bea.com/workshop/docs81/doc/en/workshop/guide/netui/guide/conReqScopedVsPageScopedBean.html
Good luck.
--SJ -
Error when using Tiles Tag Library
Hello,
I have the following page:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-nested" prefix="nested"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-template"
prefix="template"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles"%>
<html:html>
<tiles:insert page="/layouts/frameset.jsp" flush="true">
<tiles:put name="headerl" value="/tiles/headers/DatePersonalHeader.jsp"/>
<!-- <tiles:put name="left" value=""/> -->
<tiles:put name="body" value="/tiles/bodys/PersonalBody.jsp"/>
<tiles:put name="footer1" value="/tiles/footers/FooterGlobal.jsp"/>
</tiles:insert>
</html:html>When i run the page i get the following error :
[ServletException in:/layouts/frameset.jsp] Error - Tag Insert : No value found for attribute 'footer1'.' In JDeveloper page="/layouts/frameset.jsp" is underlined for warning and the warning says : Attribute page not defined on element tiles:insert
What is the problem ? thanks in advance !Refer
http://www.oracle.com/technology/pub/articles/vohra_tiles.html -
Netui:fileUpload tag ???
Does anyone know how to use the netui:fileUpload tag. When I try to use it I get
the error:
NETUI ERROR: Unable to update expression "{actionForm.theFile}" with the value
[CHANGES.txt]. The typical cause is that the object represented by the expression
is not available or is the wrong type for updating.
I set the "accept" attribute in the netui tag field, which I think is a very bad
idea since I want to upload any type of file. I don't want to specifiy a mime
type. So I tried a specific one then the octet-stream one. The JSP page when
displayed doesn't even change when you set the "accepts" attribute.
I had this working in 8.1 beta going around the form posting and using the O'Reilly
classes but 8.1 GA blows up now. So I am trying to use the netui tags but I get
the error above.
Any help??
Thanks.Raj,
Thanks for the files but they don't have anything in them refering to the file
upload. They don't have any custom code at all. I think you sent the wrong files.
Mark
"Raj Alagumalai" <[email protected]> wrote:
Mark,
Attached are sample jsp and jpf files which use the NetUI upload tag.
Hope this helps.
Thanks
Raj Alagumalai
WebLogic Workshop Support
"Mark" <[email protected]> wrote in message
news:[email protected]...
Does anyone know how to use the netui:fileUpload tag. When I try touse
it I get
the error:
NETUI ERROR: Unable to update expression "{actionForm.theFile}" withthe
value
[CHANGES.txt]. The typical cause is that the object represented bythe
expression
is not available or is the wrong type for updating.
I set the "accept" attribute in the netui tag field, which I thinkis a
very bad
idea since I want to upload any type of file. I don't want to specifiya
mime
type. So I tried a specific one then the octet-stream one. The JSPpage
when
displayed doesn't even change when you set the "accepts" attribute.
I had this working in 8.1 beta going around the form posting and usingthe
O'Reilly
classes but 8.1 GA blows up now. So I am trying to use the netui tagsbut
I get
the error above.
Any help??
Thanks.begin 666 netuiupload.zip
M4$L#!!0````(`(YJ^2YX/E_V] $```(&```.````0V]N=')O;&QE<BYJ<&:]
M5%UKVS 4?0_X/]PY+VVHY2:4K'/3$1@K>^S#8-O3D*/K1)DL&5FN4\;^^R3+
M'\2#N5 V81OY^IRK<^6KP_-":0,[E9,4*:E%322:BI."[C$3JB:/=O)@)Q^4
M-%H)@?HNF/%)VH/2-=7,8H-9O%@$,UC YP,OP5[F@, PHY5P*;JTD"D-%%)!
MY0^H,05:%(+OJ.%*$L=O<FR/198,I"'VQ+&."JT*U(9C":/W)&F@FS=1Y'4P
M:J@30RNCHCU*U-0@(_")2A8AXX;+O55J$27NG 8'ELJ 1EMVCI(Y=!2]]WE'
MR_FH&YMN2R*5'FTFX.P^I$W&),4]EX2I<(![BL_S#)+F>!^>0GBBHK*S]748
M_QW[W&-OS[";>*1C0J&+)=P6>2+'LGBQP-7J_RI$K97^=PJ7ZU=)S/PA2 IJ
M#O-F,^?]ELZWHR;83I2 (E5U^:W7]G9UU5U3!7GJUY[Z;GVUO+GV]^W-%-NH
M1WO8>_(7+,WWY10ITRH_HWVD+Z$)FJ+H.<UFO;9'7"R)!_LBUBVZG)MX?&Z]
M3\3!K*A2ZSZP$[0L86 #GHP]^R7\Z8O![*?EVN']SHW6F_R?/H^UO='6[2L%
MURCM2]/4'27V$ZO3V-*006NOT#3/Q:7_W"[OAK9NK"5(K#OH1;O&Y9U'_7+.
M;!^_`5!+`P04````" ".:ODN#^7C>H$!``#P`@``"0```&5R<F]R+FIS<(52
MRT[$, R\(_$/IA(2'-JN."&VNX(#< $)B<>>D\;;!K))29Q]"/'ON*]%("1N
MCCTS=NPICM+T%BUZ0:A [F"!\LY5NH2%\V^A=DV:S@\/BN-+:$2%8(2M(@>S
MY%6L10*ELX26GG8-IPBWE->T,M.R%CX@S9Z?;M+S!'2X]M[YAXY(/F)R/(B2
MJ(R6$+V>)18IZI0S(56"A-16:5ME9%0"C<>EWHZ8MOR?1#O'']S_:(2KQO R
M_FH[UGJ-+G?1MN$70%&C4%W$,6DR..\^7>3]H\/D>U AG=J-\&8(`*XL8,N"
M6@1P91F]1W4QP/(15TCCRK?WZ CWS&$>(R0:6 L3>=4?'M\C!LHZS7L,@2_P
MF8#"I8B&7GI4`OFWBO3Y;TG<EMB0=C8`&V(SR R'W'.+-=0G.B6.0_5L4)
M-AT\NA6"]&X3T ?8:&/ .@*E`^]X!U3KT%LN6L,=.8'@,30\!D(@03&P^Q2R
MN>!L,LE@,.H>E+$!'SO<"==/I]!>[0M02P,$% ````@`CFKY+K&O$4#E````
MR@$```D```!I;F1E>"YJ<W"%4$%.PS 0O"/QA\52C\97!$Y5+G!!B$-1S^MX
M20RN;24;:'Z/DSI(2)%Z&\_LS*Q7WTCY3($Z9+)@1CB0>8F-J^$0NZ^^C4G*
M[?65WNP@84/@,31#!I7XQ&\44,? %'@_IDPQG5BU?/0/=8M=3UR][Y_DG=B4
M!,;&.P-#YRH1B <G,]-+BXS&!>M"<\O>"D@=?;C3,C/)ER*FTA7O)1O3,?G\
M\[7:13MGS-S]5)-?`+HEM#/*F!U[VN;#P6-*WM7(+@9XRU?2ZJS-%O7GT2;:
M<7&G`@!>Z0?64LJ@2B6GN+7ZM]0O4$L!`A0`% ````@`CFKY+G@^7_;T`0``
M`@8```X``````````0`@`+:!`````$-O;G1R;VQL97(N:G!F4$L!`A0`% ``
M``@`CFKY+@_EXWJ!`0``\ (```D``````````0`@`+:!( (``&5R<F]R+FIS
M<%!+`0(4`!0````(`(YJ^2ZQKQ% Y0```,H!```)``````````$`( "V@<@#
A``!I;F1E>"YJ<W!02P4&``````,``P"J````U 0`````
`
end -
Netui:repeater tags with ranges (aka prev/next)
Is there some way to implement ranges using the <netui:data-repeater> tags? By
ranges, I mean where you have 123 items in a list and you only display numbers
1-50. Clicking NEXT would give you items 51-100. When you're there, clicking PREV
would take you back to 1-50.
Sample code would be nice. I think it could be done with the <netui:data-choiceMethod>
tags, but what I am envisioning would be pretty uglyI am still stuck. I have the pager working fine. But, I have a checkbox that needs
to be bound with the recordid. When the form is submitted after selecting records
on multilple pages, I want to retrieve the recordids of records that were checked.
How do I do that? A chckbox datasource can only be a one-value String property
of a form. But, I need to save an array of ids that were checked. I am so lost.
Please help.
"bindu" <[email protected]> wrote:
>
So sorry Eddie,
My bad I dint scroll down all the way. Thanks so much.
Bindu
Eddie O'Neil <[email protected]> wrote:
John--
Here's an example of implementing a paged repeater.
Briefly, here's how it works:
The entire data set (a Product[]) is stored in the JPF. When paging
through this data set, a
sliding window (also stored as a Product[]) is used to contain the "current"
set of products to
render in the page. The sliding window Product[] is of size PAGE_SIZE.
When transitioning between
pages, this window is recalculated for each page.
Also calculated are the "currentPage", "lastPage", "prevPage", and
"nextPage", which are used to
render a pager like this:
Page <currentPage> of <lastPage> <anchor to prevPage> <anchor to
nextPage>
The JPF and JSP are pretty well documented. To run the Page Flow,
drop the JPF and JSP into a
directory called "repeaterPaging" in an 8.1 SP2 webapp.
There are lots of other ways this could be done (and certainly some
that are more efficient :),
but hopefully this helps get you started.
Eddie
Eddie O'Neil wrote:
John--
Yep, I did promise that, and nope, it hasn't been done yet. :)
But, thanks for calling me on it.
Will try to do that and distribute it to the list in the next fewdays.
Eddie
John H wrote:
Eddie,
You mentioned putting together an example of paging a repeater in
this
thread.
Did you ever get a chance to put one together? Would really loveto
see it if
you did.
Thanks,
John
Eddie O'Neil <[email protected]> wrote:
Jan--
We're talking about adding a pager to the repeater in a future
release of Workshop, but I don't believe that it will appear inan
8.1
service pack.
Additionally in 8.1, we are not exposing a NetUI tag SDK.
That being said, it isn't that difficult ot build a pager from
scratch with the <netu:anchor> / <netui:parameter> tags and a little
code in a JPF.
You'd want to have "prev" and "next" actions in the JPF to which
anchors in the JSP are bound. Then, you can keep track of the "current"
page in the URL and build the previous and next page indices fromthe
value that is availble in the request. Finally, create an intermediate
data structure that contains the data to display in the "current"page
and bind the repeater to this data structure. You'd build the contents
depending on whether the prev or next links were clicked. For example,
if your data set has 100 items in it and you only want to displayitems
20-29, you'd be on page 2 (depending on whether you start countingat
0 :) and the intermediate list would contain exactly these items.
Might sound complicated, but I think this would work out prettywell.
Hope that helps...
Eddie
Jan Noppen wrote:
Are there any plans to include the pager tag with the repeater
in
the
next service packs or releases of WebLogic?
If not, is there a way to build on the netui:taglibs to extend
their
functionality?
I know the grid has paging functionality but it ties you to rowsetsfor input, whereas the repeater is much more flexible.
<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<%@ taglib uri="netui-tags-databinding.tld" prefix="netui-data"%>
<%@ taglib uri="netui-tags-html.tld" prefix="netui"%>
<%@ taglib uri="netui-tags-template.tld" prefix="netui-template"%>
<netui-data:declarePageInput name="displayProducts" type="repeaterPaging.Controller.Product[]"/>
<netui:html>
<head>
<title>Paging with the Repeater</title>
</head>
<body>
<p>
<b>Paging with the Repeater</b>
>>
>> <!-- Pager Text -->
<netui:label value="Page {request.currentPage} of {request.lastPage}"/>
<!-- Previous page anchor -->
<%if(request.getAttribute("prevPage") != null) { %>
<netui:anchor action="page">
Previous
<netui:parameter name="_page" value="{request.prevPage}"/>
</netui:anchor>
<% } else {%>
<!-- don't render the anchor when there is no previous
page -->
<netui:label value="Previous"/>
<% } %>
<!-- Next page anchor -->
<% if(request.getAttribute("nextPage") != null) { %>
<netui:anchor action="page">
Next
<netui:parameter name="_page" value="{request.nextPage}"/>
</netui:anchor>
<% } else {%>
<!-- don't render the anchor when there is no next page
-->
<netui:label value="Next"/>
<% } %>
>> <!-- display the current window into the data set -->
<netui-data:repeater dataSource="{pageInput.displayProducts}"
ignoreNulls="true">
<netui-data:repeaterHeader>
<table class="tablebody" border="1" width="60%">
<tr class="tablehead" valign="top">
<th width="30%">Product ID</th>
<th>Name</th>
</tr>
</netui-data:repeaterHeader>
<netui-data:repeaterItem>
<tr valign="top">
<td align="center"><netui:label value="{container.item.id}"
defaultValue=" "></netui:label></td>
<td><netui:label value="{container.item.name}"
defaultValue=" "></netui:label></td>
</tr>
</netui-data:repeaterItem>
<netui-data:repeaterFooter></table></netui-data:repeaterFooter>
</netui-data:repeater>
</p>
</body>
</netui:html>
package repeaterPaging;
import com.bea.wlw.netui.pageflow.Forward;
import com.bea.wlw.netui.pageflow.PageFlowController;
* @jpf:controller
* @jpf:forward name="success" path="index.jsp"
* @jpf:forward name="page" path="page.do"
* @jpf:view-properties view-properties::
* <!-- This data is auto-generated. Hand-editing this section is not
recommended. -->
* <view-properties>
* <pageflow-object id="pageflow:/repeaterPaging/Controller.jpf"/>
* <pageflow-object id="action:begin.do">
* <property value="80" name="x"/>
* <property value="100" name="y"/>
* </pageflow-object>
* <pageflow-object id="action:page.do">
* <property value="120" name="x"/>
* <property value="100" name="y"/>
* </pageflow-object>
* <pageflow-object id="action-call:@page:index.jsp@#@action:page.do@">
* <property value="204,180,180,156" name="elbowsX"/>
* <property value="81,81,92,92" name="elbowsY"/>
* <property value="West_0" name="fromPort"/>
* <property value="East_1" name="toPort"/>
* </pageflow-object>
* <pageflow-object id="page:index.jsp">
* <property value="240" name="x"/>
* <property value="100" name="y"/>
* </pageflow-object>
* <pageflow-object id="forward:path#success#index.jsp"/>
* <pageflow-object id="forward:path#page#page.do"/>
* </view-properties>
public class Controller extends PageFlowController
// number of items to show on a single page
private static final int PAGE_SIZE = 5;
// URL parameter key for the value that will store the current page
private static final String PAGE_PARAM_KEY = "_page";
// Array to hold the entire data set
private Product[] products = null;
* Forward to the "page" action to set-up the first page of
* data to display in index.jsp.
* @jpf:action
protected Forward begin()
return new Forward("page");
* Change the page of data that is displayed in index.jsp. This
action
* is used if paging to either the previous or to the next page.
* @jpf:action
protected Forward page()
Forward f = new Forward("success");
page(f);
return f;
* Implement data set paging. This method uses a simple _page paramater
on the URL
* to indicate the correct "page" to display when "Prev" or "Next"
are clicked
* in the JSP. The key principle at work here is a sliding window
of size PAGE_SIZE
* that is moved forward and backward through the complete dataset.
This window
* contains the set of items to render for a single "page" in the
repeater. As
* the current page changes, this window (an array of size PAGE_SIZE)
is
* reconstructed.
* The pager consists of three parts:
* - a simple "Page # of #" label
* - a previous anchor that is enabled when there is a previouspage
* - a next anchor that is enabled when there is a next page
* To render a "page" of data, the _page parameter is convertedfrom
a String
* to an int. Using the page integer, the start and end of a window
into the
* complete data set is calculated. This windows slides back and
forth along the
* data set in PAGE_SIZE increments depending on the value of the
current page.
* In this case, with a PAGE_SIZE of 5 and data set size of 17,the
possible windows
* are:
* products[0] -> products[4]
* products[5] -> products[9]
* products[10] -> products[14]
* products[15] -> products[16]
* Thus, the lastPage value is 4, which is calculated with the Math.ceil(...)
* call below.
* Given the start and end of this window, a temporary array ofsize
PAGE_SIZE
* is created to hold references to the items that should render
from the complete
* data set. This array is passed to the page as a JPF page input
and is rendered
* with the <netui-data:repeater/>.
* Finally, four additional values are made available to the page
in the request
* and are used to render "Page # of #" and to provide parameters
to anchors that
* will display the previous and next pages:
* - Page # of # -- the first # is "currentPage" and the second#
is "lastPage"
* - prevPage -- the int value of the previous page. If there is
no previous page,
* this value is null in the request
* - nextPage -- the int value of the next page. If there is no
next page, this value
* is null in the request.
* Notes:
* - In order to have multiple repeaters on a page operating independently,
* the "_page" parameter would need to change to include a namespace
that
* would be used when finding the current page for a data set.
* - This JPF is implemented with a single "page" action that performs
both
* next and previous paging. This could also be implemented with
"prevPage" and
* "nextPage" actions that implement additional logic that runs
on the previous
* and next transitions.
* - No real error checking is done to ensure that the PAGE_SIZE
is greater than 0.
* Handling errors:
* - If parsing _page from the request fails to convert to an int,
a NumberFormatException
* is shown in the console and the first page will is used.
* - If the current page value is greater than the number of pages,
the last page will
* be displayed.
private void page(Forward f)
assert PAGE_SIZE > 0;
// calculate the last page
int lastPage = (int)Math.ceil((float)products.length / (float)PAGE_SIZE);
int currentPage = 1; // default page is page 1
Product[] displayProducts = new Product[PAGE_SIZE];
String currentPageStr = getRequest().getParameter(PAGE_PARAM_KEY);
if(currentPageStr != null)
try
currentPage = Integer.parseInt(currentPageStr);
catch(NumberFormatException nfe)
nfe.printStackTrace();
// continue with a current page of 1
// ensure the current page is not greater than the number
of pages
if(currentPage > lastPage)
currentPage = lastPage;
// index into the entire data set at which the window starts
// page indices are 1 based, adjust to be 0 based for accessing
// the Product[]
int start = (currentPage-1) * PAGE_SIZE;
// index into the entire data set at which the window ends or
the index
// of the last item when rendering the last page
int end = (currentPage != lastPage ? start + PAGE_SIZE : products.length);
// fill-up the set of Product objects to render up to PAGE_SIZE
// but don't run off the end of the products array
for(int i = 0; i < PAGE_SIZE && (start+i < products.length);
i++)
displayProducts[i] = products[start + i];
// set the previous page
int prevPage = currentPage-1;
if(prevPage > 0)
getRequest().setAttribute("prevPage", new Integer(prevPage));
// set the next page
int nextPage = currentPage+1;
if(nextPage <= lastPage)
getRequest().setAttribute("nextPage", new Integer(nextPage));
// set the current and last pages in the request in order to
show "Page # of #"
getRequest().setAttribute("currentPage", new Integer(currentPage));
getRequest().setAttribute("lastPage", new Integer(lastPage));
// set the current window in to the data set as a page input
f.addPageInput("displayProducts", displayProducts);
return;
* Initialize a simple, sample data set that contains
* 17 products with IDs running from 1-17 and text "Widget 1" to
* "Widget 17".
public void onCreate()
int size = 17;
products = new Product[size];
for(int i = 1; i <= size; i++)
products[i-1] = new Product("Widget " + i, i);
* Simple JavaBean that contains production information.
public static class Product
implements java.io.Serializable
private String name;
private int id;
public Product(String name, int id)
this.name = name;
this.id = id;
public String getName() {return name;}
public int getId() {return id;} -
Error - tag.getAsString : attribute 'title' not found in context ---- Help
hi,
I have included a jsp page in tiles definition xml. if i try to access an attribute defined in the tiles definition using tiles:getAsString method it is throwing the following exception
Error - tag.getAsString : attribute 'title' not found in context
can anyone help me how to get rid of this problem?
Thanks in advance.yes ,
reference already enter in web.xml
<resource-ref>
<description>
</description>
<res-ref-name>jdbc/iconnectDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
still same problem
pullareddy -
JSP : Tiles Error �tag.getAsString� : component context is not defined
JSP : Tiles Error �tag.getAsString� : component context is not defined
I�m working with Struts 1.1 and Tiles, under Tomcat 5.0.16
My application works fine using Struts 1.1 alone, however, when attempting to run the application in a �Tiles� environment, I get an error:
�
javax.servlet.jsp.JspException: Error - tag.getAsString : component context is not defined. Check tag syntax
�
I have �defined� this in my �tiles-defs.xml� file, and as far as I can tell, everything else is configured properly (I have looked over the included Struts document examples, and others on the web, and I seem to have everything configured identically).
What am I missing???
I have created a series of �mostly� empty JSP files, for simplicity sake.
JSP FILES:
- header.jsp
- footer.jsp
- menu.jsp
- rootLayout.jsp
- user.jsp
- show_user.jsp
- error.jsp
- defaultContentPage.jsp
All JSP files contain:
<%@ taglib uri="/WEB-INF/lib/struts-tiles.tld" prefix="tiles" %>
and
�
<title>
<tiles:getAsString name="title"/>
</title>
�
My �tiles-defs.xml�: =================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
<tiles-definitions>
<!-- ================ RootLayout ======================= -->
<definition name=".root.layout" path="/jsp/rootLayout.jsp" >
<put name="title" value="Default title"/>
<put name="header" value="/jsp/header.jsp"/>
<put name="menu" value="/jsp/menu.jsp"/>
<put name="content" value="/jsp/defaultContentPage.jsp"/>
<put name="footer" value="/jsp/footer.jsp"/>
</definition>
<!-- ================ Extentions ======================= -->
<!-- User -->
<definition name=".view.user" extends=".root.layout">
<put name="title" value="Welcome to the User Form."/>
<put name="content" value="/jsp/user.jsp"/>
</definition >
<!-- Save -->
<definition name=".view.save" extends=".root.layout">
<put name="title" value="Welcome to the Show User Form."/>
<put name="content" value="/jsp/show_user.jsp"/>
</definition >
<!-- Error -->
<definition name=".view.error" extends=".root.layout">
<put name="title" value="Error Message."/>
<put name="content" value="/jsp/error.jsp"/>
</definition >
</tiles-definitions>
My �struts-config.xml�: ==============================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<!-- ========== FormBeans =================================== -->
<form-beans>
<form-bean name="userForm" type="biz.seamrog.strutstest.model.state.UserForm"/>
</form-beans>
<!-- ========== Action Mapping Definitions=================== -->
<action-mappings>
<!-- Action using normal forward syntax...
<action path="/user"
forward="/jsp/user.jsp">
</action>
-->
<!-- Action using a "Tiles" forward syntax...
The "forward" path mappings are defined in a file named
"../WEB-INF/tiles-defs.xml
-->
<action path="/user"
forward=".view.user">
</action>
<!-- Action using normal forward syntax...
<action path="/save"
type="biz.seamrog.strutstest.model.logic.SaveAction"
name="userForm" scope="request"
input="/jsp/user.jsp">
<forward name="success" path="/jsp/show_user.jsp"/>
<forward name="failure" path="/jsp/error.jsp"/>
</action>
-->
<!-- Tiles syntax -->
<action path="/save"
type="biz.seamrog.strutstest.model.logic.SaveAction"
name="userForm" scope="request"
input="/jsp/user.jsp">
<forward name="success" path=".view.show_user"/>
<forward name="failure" path=".view.error"/>
</action>
</action-mappings>
<!-- ============== Global Forwards ======================== -->
<global-forwards>
<!-- NOTE: paths with "." syntax are Tiles defined paths,
all other paths follow conventional "/path/to/file.jsp syntax
-->
<forward name="user" path=".view.user"/>
<forward name="show_user" path=".view.show_user"/>
<forward name="error" path=".view.error"/>
<forward name="cssBase" path="/stylesheets/common.css"/>
</global-forwards>
<!-- ============= Plug-ins =============== -->
<!-- Tiles Plug-in -->
<plug-in className="org.apache.struts.tiles.TilesPlugin" >
<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml"/>
<set-property property="definitions-parser-validate" value="true" />
<set-property property="moduleAware" value="true" />
</plug-in>
</struts-config>
My �web.xml�: =====================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'>
<web-app>
<servlet>
<!--
MyController extends org.apache.struts.action.ActionServlet
NOTE: The servlet could also be specified specifying the
default Struts ActonServlet...
<servlet-name>controller</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
...I have chosen to extend here just for practice sake.
-->
<!--
<servlet-name>MyController</servlet-name>
<servlet-class>biz.seamrog.strutstest.controller.MyController</servlet-class>
-->
<servlet-name>MyController</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<!--
Point to Struts configuration file(s)
-->
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<!-- Tiles config -->
<init-param>
<param-name>definitions-config</param-name>
<param-value>/WEB-INF/tiles-defs.xml</param-value>
</init-param>
<!-- This is the added Application parameter: -->
<init-param>
<param-name>application</param-name>
<param-value>ApplicationResource</param-value>
</init-param>
<!-- end -->
<load-on-startup>5</load-on-startup>
</servlet>
<!--
All incoming requests that end in .do, send to MyController.
-->
<servlet-mapping>
<servlet-name>MyController</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!--
Send initial requests to the login page for this application
-->
<welcome-file-list>
<welcome-file>/jsp/user.jsp</welcome-file>
</welcome-file-list>
<!--
Make all of the necessary related Struts JSP custom tag libraries
available and define where to find them.
-->
<taglib>
<taglib-uri>/WEB-INF/lib/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/lib/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/lib/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/lib/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/lib/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/lib/struts-logic.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/lib/struts-tiles.tld</taglib-uri>
<taglib-location>/WEB-INF/lib/struts-tiles.tld</taglib-location>
</taglib>
</web-app>
My �rootLayout.jsp�: ================================================
<%@page contentType="text/html"%>
<%@ taglib uri="/WEB-INF/lib/struts-tiles.tld" prefix="tiles" %>
<html>
<header>
<title>
<tiles:getAsString name="title" />
</title>
<body>
<tiles:get name="header"/>
<tiles:get name="menu"/> <tiles:get name="content"/>
<tiles:get name="footer"/>
</body>
</html>I found an entry in the Mail Archive for Struts. I got it working. My working code is below. You need to in the base JSP import the header and put the 'title' out to it.
tiles:def file:
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
<tiles-definitions>
<definition name=".petstore.Base" path="/common/petstorecommon.jsp">
<put name="title" value ="${title}"/>
<put name="header" value="/common/header.jsp"/>
<put name="message" value="/common/message.jsp"/>
<put name="content" value="${content}"/>
<put name="navbar" value="/common/navbar.jsp"/>
</definition>
<definition name="petstore.Login" extends=".petstore.Base" >
<put name="title" value="Login Page" />
<put name="content" value="/Logon.jsp"/>
<put name="test1" value="test1value"/>
</definition>
base tile def:
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
<%@ page contentType="text/html;charset=windows-1252"%>
<html:html>
<head>
<html:base/>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>pet store common (jsp)</title>
</head>
<body>
<tiles:insert attribute="header">
<%-- both of these attributes are accessible from header.jsp It works!!! --%>
<tiles:put name="title" beanName="title" beanScope="tile" />
<tiles:put name="test1" beanName="test1" beanScope="tile" />
</tiles:insert>
<%-- <tiles:get name="header" /> --%>
<tiles:get name="message" />
<tiles:get name="content" />
<tiles:get name="navbar" />
</body>
</html:html>
Getting access to the title value in the header.jsp file:
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
<html>
<head>
<tiles:getAsString name="title" />
<tiles:getAsString name="test1" />
</head>
<body>
</body>
</html> -
Netui: anchor tag with target attribute.
I am using the netui:anchor tag inside an iframe to post to an action. But the
resulting page is displayed within the iframe. Will the target attribute of the
netui:anchor tag help solve the problem. What is a valid value of the target
attribute.
thanks,
Shankardoes the action have a formSubmit = true? If not then your modal dialog should be shown via the onclick and you have to javascript the link click (based on your modal dialog options)
If you do have a formSubmit=true, then you'd have the onclick show the modal dialog and you would have to write additional javascript to submit the form (Along with setting its action)
regards
deepak
Maybe you are looking for
-
Is it possible to reduce the number of HTTP calls when using a ReportViewer control?
My application is written in .Net 4 using Visual Studio 2010 (version 10 of the ReportViewer control). The report in question contains a lot of data in the dropdowns used for parameter selection. For example, one dropdown contains 95k options and ano
-
Phone wont sync due to existing purchases
I have been trying to download a prototype app to my phone and keep getting error messages - can't sync due to existing purchases not authorised etc. When I authorise the computer I get a "can't authorise the computer" message. I did this a couple of
-
Can multiple transducer be handled by single datalogger
I have 3 presure guages generating 0-20mA analog signal and one differential pressure transducer also generating 0-20 mA signal. I need to maintain a log of all pressure readings. In this regard I need to have a datalogger which can translate my anal
-
E-mail bounce For system.
We are trying to send an e-mail from my personal address the e-mail address (XXXX). This last e-mail addressed is connected to the (XXXX) e-mail address. Which will be delivered at the CP4 system. However this mail is being bounced. After checking t
-
I can't hear a patch in logic pro x
i selected an amp patch for my direct guitar and can't hear it until after it's recorded.....help?