You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Aftab Vhora <af...@oracle.com> on 2006/09/18 12:05:59 UTC
Dynamically Generated html:Text
Hi,
I m dynamically generating the html:text , i have made correct entry in
the struts config.xml and also implemented the Action Form and Action
class.
But I m getting below error, request you to kindly provide me the solution.
===========ERROR============
javax.servlet.jsp.JspException: No getter method for property txt1 of
bean org.apache.struts.taglib.html.BEAN
at org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:968)
at
org.apache.struts.taglib.html.BaseFieldTag.doStartTag(BaseFieldTag.java:176)
at _test._jspService(_test.java:63)
[/test.jsp]
.................
=====action form=========
public class myMapForm extends ActionForm
{
private final Map values = new HashMap();
public void setTxt(String key, Object value) {
values.put(key, value);
}
public String getTxt(String key) {
return (String)values.get(key);
}
}
========JSP file(test.jsp)=============
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252"/>
<title>Google Client</title>
</head>
<body>
<html:form action="process">
<%
for(i=0;i<1;i++)
%>
<html:text property='<%="txt" + i %>' />
</html:form>
</body>
</html>
--
Thanks & Regards,
Aftab Vhora
Oracle India Pvt Ltd,
Cell-9880 311 391
Re: Dynamically Generated html:Text
Posted by Monkeyden <mo...@gmail.com>.
It's not finding the ActionForm. It looks like you need a slash before
"process" in the form tag, provided that you indeed have an action mapping
with path "/process" in your Struts config file.
On 9/18/06, Aftab Vhora <af...@oracle.com> wrote:
>
> Hi,
>
> I m dynamically generating the html:text , i have made correct entry in
> the struts config.xml and also implemented the Action Form and Action
> class.
>
> But I m getting below error, request you to kindly provide me the
> solution.
>
> ===========ERROR============
>
> javax.servlet.jsp.JspException: No getter method for property txt1 of
> bean org.apache.struts.taglib.html.BEAN
> at org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:968)
> at
> org.apache.struts.taglib.html.BaseFieldTag.doStartTag(BaseFieldTag.java
> :176)
> at _test._jspService(_test.java:63)
> [/test.jsp]
> .................
>
> =====action form=========
> public class myMapForm extends ActionForm
> {
> private final Map values = new HashMap();
>
> public void setTxt(String key, Object value) {
> values.put(key, value);
> }
>
> public String getTxt(String key) {
> return (String)values.get(key);
> }
>
> }
>
> ========JSP file(test.jsp)=============
>
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html;
> charset=windows-1252"/>
> <title>Google Client</title>
> </head>
> <body>
> <html:form action="process">
> <%
> for(i=0;i<1;i++)
> %>
> <html:text property='<%="txt" + i %>' />
> </html:form>
> </body>
> </html>
>
>
> --
> Thanks & Regards,
> Aftab Vhora
> Oracle India Pvt Ltd,
> Cell-9880 311 391
>
>
>
Re: Dynamically Generated html:Text
Posted by Aftab Vhora <af...@oracle.com>.
Hi,
Somehow I was able to generate text boxes dynamically here is wht i did
==============struts-config.xml===============
<struts-config>
<form-beans>
<form-bean name="myForm"
type="org.apache.struts.action.DynaActionForm" size="4">
<form-property name="lines" type="com.biz.myMapForm[]" />
</form-bean>
</form-beans>
<action-mappings>
<action path="/process" type="com.biz.myAction" name="myForm"
scope="request">
<forward name="success" path="/test.jsp" />
</action>
</action-mappings>
<message-resources parameter="nwprj.ApplicationResources"/>
</struts-config>
============Action Form myMapForm.java================
public class myMapForm extends ActionForm
{
private String name="";
private String phone="";
public void setName(String nm) { this.name=nm; }
public void setPhone(String ph) { this.phone=ph; }
public String getName() { return this.name; }
public String getPhone() { return this.phone; }
}
===========My JSP(test.jsp)====================
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252"/>
<title></title>
</head>
<body><html:form action="process" >
<c:forEach var="lines" items="${myForm.map.lines}">
Name <html:text property="name" indexed="true" name="lines" />
Phone <html:text property="phone" indexed="true" name="lines" /> <br>
</c:forEach>
<html:submit value="Submit" />
</html:form></body>
</html>
===========================================================
But the problem is, it is generating only 4+4=8 texboxes as specified
in my struts-config.xml file size="4" , But I want it to be generated
dynamically, Say, user wants to enter 6 entry of name and phone then it
should generate 6+6 text boxes.
Is there any solution exist ??
Thanks & Regards,
Aftab Vhora
Puneet Lakhina wrote:
> On 9/18/06, Aftab Vhora <af...@oracle.com> wrote:
>
>>
>> Hi,
>>
>> I m dynamically generating the html:text , i have made correct entry in
>> the struts config.xml and also implemented the Action Form and Action
>> class.
>>
>> But I m getting below error, request you to kindly provide me the
>> solution.
>>
>> ===========ERROR============
>>
>> javax.servlet.jsp.JspException: No getter method for property txt1 of
>> bean org.apache.struts.taglib.html.BEAN
>> at org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:968)
>> at
>> org.apache.struts.taglib.html.BaseFieldTag.doStartTag(BaseFieldTag.java
>> :176)
>> at _test._jspService(_test.java:63)
>> [/test.jsp]
>> .................
>>
>> =====action form=========
>> public class myMapForm extends ActionForm
>> {
>> private final Map values = new HashMap();
>>
>> public void setTxt(String key, Object value) {
>> values.put(key, value);
>> }
>>
>> public String getTxt(String key) {
>> return (String)values.get(key);
>> }
>>
>> }
>>
>> ========JSP file(test.jsp)=============
>>
>> <html>
>> <head>
>> <meta http-equiv="Content-Type" content="text/html;
>> charset=windows-1252"/>
>> <title>Google Client</title>
>> </head>
>> <body>
>> <html:form action="process">
>> <%
>> for(i=0;i<1;i++)
>> %>
>> <html:text property='<%="txt" + i %>' />
>
>
>
> The above line is incorrect. It should be <html:text
> property='<%="txt(" + i
> +")"%>' /> .
>
> </html:form>
>
>> </body>
>> </html>
>>
>>
>> --
>> Thanks & Regards,
>> Aftab Vhora
>> Oracle India Pvt Ltd,
>> Cell-9880 311 391
>>
>>
>>
>
>
Re: Dynamically Generated html:Text
Posted by Puneet Lakhina <pu...@gmail.com>.
On 9/18/06, Aftab Vhora <af...@oracle.com> wrote:
>
> Hi,
>
> I m dynamically generating the html:text , i have made correct entry in
> the struts config.xml and also implemented the Action Form and Action
> class.
>
> But I m getting below error, request you to kindly provide me the
> solution.
>
> ===========ERROR============
>
> javax.servlet.jsp.JspException: No getter method for property txt1 of
> bean org.apache.struts.taglib.html.BEAN
> at org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:968)
> at
> org.apache.struts.taglib.html.BaseFieldTag.doStartTag(BaseFieldTag.java
> :176)
> at _test._jspService(_test.java:63)
> [/test.jsp]
> .................
>
> =====action form=========
> public class myMapForm extends ActionForm
> {
> private final Map values = new HashMap();
>
> public void setTxt(String key, Object value) {
> values.put(key, value);
> }
>
> public String getTxt(String key) {
> return (String)values.get(key);
> }
>
> }
>
> ========JSP file(test.jsp)=============
>
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html;
> charset=windows-1252"/>
> <title>Google Client</title>
> </head>
> <body>
> <html:form action="process">
> <%
> for(i=0;i<1;i++)
> %>
> <html:text property='<%="txt" + i %>' />
The above line is incorrect. It should be <html:text property='<%="txt(" + i
+")"%>' /> .
</html:form>
> </body>
> </html>
>
>
> --
> Thanks & Regards,
> Aftab Vhora
> Oracle India Pvt Ltd,
> Cell-9880 311 391
>
>
>
--
Puneet