-
Bug
-
Resolution: Not an Issue
-
P3
-
None
-
1.3.1
-
x86
-
windows_2000
Name: rl43681 Date: 09/23/2003
FULL PRODUCT VERSION :
FULL OS VERSION :
Windows 2000
A DESCRIPTION OF THE PROBLEM :
Our application was running fine on jdk131_03 but when we ported weblogic sp1 to sp4(jdk131_08) we had the following problem..
The line of code in the jsp is :
<H3>Welcome <bean:write name="user" property="username[1]"/>!</h3>
where 1 is a input parameter of getUsername(int size) method of FormBean. In my case "name" is not an array... 1 is an int passed to the method getUsername(int size) from my JSP through <bean:write> tag. Input exactly means that i want 1 char of the String.
It Looks like the change in the introspector class(in jdk131_08) has affected
this.
<Sep 6, 2003 9:45:51 AM EDT> <Error> <HTTP> <101017>
<[ServletContext(id=3964479,name=/,context-path=)] Root cause of
ServletException
java.lang.IllegalArgumentException: Property 'username' is not indexed
at
org.apache.struts.util.PropertyUtils.getIndexedProperty(PropertyUtils.java:373)
at
org.apache.struts.util.PropertyUtils.getIndexedProperty(PropertyUtils.java:314)
at
org.apache.struts.util.PropertyUtils.getNestedProperty(PropertyUtils.java:424)
at org.apache.struts.util.PropertyUtils.getProperty(PropertyUtils.java:453)
at org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:503)
at org.apache.struts.taglib.bean.WriteTag.doStartTag(WriteTag.java:179)
at
jsp_servlet._jsp.__clientdirdepv1_45_37._jspService(__clientdirdepv1_45_37.java:
1249)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStu
bImpl.java:1075)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:418
)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:20)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at
weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.ja
va:315)
at
org.apache.struts.action.ActionServlet.processActionForward(ActionServlet.java:1
759)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1596)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStu
bImpl.java:1075)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:418
)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:20)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at FrontDoorFilter.doFilter(FrontDoorFilter.java:146)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAp
pServletContext.java:5523)
at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.ja
va:685)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContex
t.java:3156)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:250
6)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:234)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:210)
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Hi Clark,
Please see the example package(.war file) which works fine on jdk131_03 and doesnt work on jdk131_08. You can deploy and access the application with
You will get an error in Welcome page once you log in.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Welcome T!
ACTUAL -
java.lang.IllegalArgumentException: Property 'Username' is not indexed...
ERROR MESSAGES/STACK TRACES THAT OCCUR :
java.lang.IllegalArgumentException: Property 'Username' is not indexed...
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
/**
* Return the username.
*/
public String getUsername() {
return (this.username);
}
/**
* Return the username.
*/
public String getUsername(int size) {
return (this.username.substring(0, size));
}
/**
* Set the username.
*
* @param username The new username
*/
public void setUsername(String username) {
this.username = username;
}
---------- END SOURCE ----------
(Incident Review ID: 206884)
======================================================================
###@###.### 2003-09-23
FULL PRODUCT VERSION :
FULL OS VERSION :
Windows 2000
A DESCRIPTION OF THE PROBLEM :
Our application was running fine on jdk131_03 but when we ported weblogic sp1 to sp4(jdk131_08) we had the following problem..
The line of code in the jsp is :
<H3>Welcome <bean:write name="user" property="username[1]"/>!</h3>
where 1 is a input parameter of getUsername(int size) method of FormBean. In my case "name" is not an array... 1 is an int passed to the method getUsername(int size) from my JSP through <bean:write> tag. Input exactly means that i want 1 char of the String.
It Looks like the change in the introspector class(in jdk131_08) has affected
this.
<Sep 6, 2003 9:45:51 AM EDT> <Error> <HTTP> <101017>
<[ServletContext(id=3964479,name=/,context-path=)] Root cause of
ServletException
java.lang.IllegalArgumentException: Property 'username' is not indexed
at
org.apache.struts.util.PropertyUtils.getIndexedProperty(PropertyUtils.java:373)
at
org.apache.struts.util.PropertyUtils.getIndexedProperty(PropertyUtils.java:314)
at
org.apache.struts.util.PropertyUtils.getNestedProperty(PropertyUtils.java:424)
at org.apache.struts.util.PropertyUtils.getProperty(PropertyUtils.java:453)
at org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:503)
at org.apache.struts.taglib.bean.WriteTag.doStartTag(WriteTag.java:179)
at
jsp_servlet._jsp.__clientdirdepv1_45_37._jspService(__clientdirdepv1_45_37.java:
1249)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStu
bImpl.java:1075)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:418
)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:20)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at
weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.ja
va:315)
at
org.apache.struts.action.ActionServlet.processActionForward(ActionServlet.java:1
759)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1596)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStu
bImpl.java:1075)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:418
)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:20)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at FrontDoorFilter.doFilter(FrontDoorFilter.java:146)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAp
pServletContext.java:5523)
at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.ja
va:685)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContex
t.java:3156)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:250
6)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:234)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:210)
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Hi Clark,
Please see the example package(.war file) which works fine on jdk131_03 and doesnt work on jdk131_08. You can deploy and access the application with
You will get an error in Welcome page once you log in.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Welcome T!
ACTUAL -
java.lang.IllegalArgumentException: Property 'Username' is not indexed...
ERROR MESSAGES/STACK TRACES THAT OCCUR :
java.lang.IllegalArgumentException: Property 'Username' is not indexed...
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
/**
* Return the username.
*/
public String getUsername() {
return (this.username);
}
/**
* Return the username.
*/
public String getUsername(int size) {
return (this.username.substring(0, size));
}
/**
* Set the username.
*
* @param username The new username
*/
public void setUsername(String username) {
this.username = username;
}
---------- END SOURCE ----------
(Incident Review ID: 206884)
======================================================================
###@###.### 2003-09-23