You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Security Management <li...@secmgmt.com> on 2009/04/03 18:28:44 UTC
Stumped on form field
I cannot figure this out, days is never set, and the debug logging does not
show up for setting days, but it does for name. Anyone have any idea?
JSP page:
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:include value="/pages/common/jsps/header.jsp" />
<body>
<div id='top_div'>
<h1><s:text name="sc_title"/> <s:text
name="sc_add_edit_rule_name"/></h1>
<s:include value="/pages/common/jsps/menu.jsp" />
</div>
<div id='body_div'>
<p><s:text name="sc_rule_days_description"/></p>
<s:form action="saveRuleName" method="POST">
<s:textfield key="ruleName" />
<s:textfield key="days" size="4" />
<s:select name="ruleTypes" multiple="true"
list="allTypes" listKey="id" listValue="description" label="Person Types"
value="selectedPersonTypes"/>
<s:hidden name="ruleId"/>
<s:url value="/pages/common/images/save.png"
var="search_button"/>
<s:submit type="image" src="%{search_button}"/>
</s:form>
</div>
<s:include value="/pages/common/jsps/footer.jsp" />
The struts.xml snippet:
<action name="saveRuleName"
class="com.secmgmt.struts2.actions.scrounger.SaveRuleNameDaysTypes">
<result
name="success">/pages/scrounger/jsps/add-exceptions.jsp</result>
</action>
The Java class:
package com.secmgmt.struts2.actions.scrounger;
import com.secmgmt.struts2.base.SMCBaseAction;
import com.secmgmt.interfaces.auth.IAuthProvider;
import com.secmgmt.interfaces.people.providers.IPersonProvider;
import com.secmgmt.interfaces.people.providers.IScroungerProvider;
import com.secmgmt.interfaces.people.IScroungerRule;
import com.secmgmt.interfaces.people.IPersonType;
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
import org.apache.log4j.Logger;
/**
* <code>IndexAction</code>
*
* @author Mike Baranski (mike@secmgmt.com)
*/
public class SaveRuleNameDaysTypes extends SMCBaseAction
{
private static Logger l = Logger.getLogger(SaveRuleNameDaysTypes.class);
private IAuthProvider authProvider;
private IScroungerProvider sp;
private IPersonProvider ppp;
private Long ruleId;
private Integer days;
private String ruleName;
private IScroungerRule r;
public IScroungerRule getRule()
{
return r;
}
public void setRule(IScroungerRule r)
{
this.r = r;
}
// Set from the form
private List<Long> ruleTypes;
// Converted from the form
private List<IPersonType> ruleIPersonTypes;
public void setRuleDays(String i)
{
l.debug("Setting days: " + i);
try
{
this.days = new Integer(i);
}
catch(NumberFormatException e)
{
l.error("Error parsing: " + e.toString());
this.days = null;
}
}
public void setRuleName(String n)
{
l.debug("Setting rule name: " + n);
this.ruleName = n;
}
public String getRuleName()
{
return this.ruleName;
}
public Integer getRuleDays()
{
return this.days;
}
public IScroungerProvider getScroungerProvider()
{
return this.sp;
}
public void setScroungerProvider(IScroungerProvider s)
{
this.sp = s;
}
public void setRuleTypes(List<Long> l) throws Exception
{
this.ruleIPersonTypes = new ArrayList<IPersonType>(l.size());
Iterator<Long> typeIter = l.iterator();
while(typeIter.hasNext())
{
this.ruleIPersonTypes.add(this.getPersonProvider().getPersonType(typeIter.ne
xt()));
}
} public List<IPersonType> getRuleIPersonTypes()
{
return this.ruleIPersonTypes;
}
public void setPersonProvider(IPersonProvider p)
{
this.ppp = p;
}
public IPersonProvider getPersonProvider()
{
return ppp;
}
public void setAuthProvider(IAuthProvider p)
{
this.authProvider = p;
}
public IAuthProvider getAuthProvider()
{
return this.authProvider;
}
public void setRuleId(Long id)
{
this.ruleId = id;
}
public Long getRuleId()
{
return this.ruleId;
}
/**
*
* @return {@link #SUCCESS}
*/
public String execute() throws Exception
{
IScroungerRule rule = this.getScroungerProvider().getInstance();
rule.setRuleName(this.getRuleName());
rule.setId(this.getRuleId());
rule.setDays(this.getRuleDays());
rule.setRulePersonTypes(this.getRuleIPersonTypes());
this.getScroungerProvider().makePersistent(rule);
this.setRule(rule);
return SUCCESS;
}
public void validate()
{
if(this.getRuleIPersonTypes() == null ||
this.getRuleIPersonTypes().size() == 0)
{
addActionError(getText("sc_no_type_selected"));
}
if(this.getRuleName() == null || this.getRuleName().length() ==
0)
{
addActionError(getText("sc_no_rule_name_entered"));
}
if(this.getRuleDays() == null)
{
addActionError(getText("sc_no_rule_days_entered"));
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: Stumped on form field
Posted by Greg Lindholm <gl...@yahoo.com>.
You are missing a setDays(Integer i) in your action.
Or, change the textfield to "ruleDays".
<s:textfield key="ruleDays" size="4" />
Security Management wrote:
>
> I cannot figure this out, days is never set, and the debug logging does
> not
> show up for setting days, but it does for name. Anyone have any idea?
>
> JSP page:
> <%@ taglib prefix="s" uri="/struts-tags" %>
> <s:include value="/pages/common/jsps/header.jsp" />
>
> <body>
> <div id='top_div'>
> <h1><s:text name="sc_title"/> <s:text
> name="sc_add_edit_rule_name"/></h1>
> <s:include value="/pages/common/jsps/menu.jsp" />
> </div>
>
> <div id='body_div'>
> <p><s:text name="sc_rule_days_description"/></p>
> <s:form action="saveRuleName" method="POST">
> <s:textfield key="ruleName" />
> <s:textfield key="days" size="4" />
> <s:select name="ruleTypes" multiple="true"
> list="allTypes" listKey="id" listValue="description" label="Person Types"
> value="selectedPersonTypes"/>
> <s:hidden name="ruleId"/>
> <s:url value="/pages/common/images/save.png"
> var="search_button"/>
> <s:submit type="image" src="%{search_button}"/>
> </s:form>
> </div>
> <s:include value="/pages/common/jsps/footer.jsp" />
>
> The struts.xml snippet:
> <action name="saveRuleName"
> class="com.secmgmt.struts2.actions.scrounger.SaveRuleNameDaysTypes">
> <result
> name="success">/pages/scrounger/jsps/add-exceptions.jsp</result>
> </action>
>
> The Java class:
> package com.secmgmt.struts2.actions.scrounger;
>
> import com.secmgmt.struts2.base.SMCBaseAction;
> import com.secmgmt.interfaces.auth.IAuthProvider;
> import com.secmgmt.interfaces.people.providers.IPersonProvider;
> import com.secmgmt.interfaces.people.providers.IScroungerProvider;
> import com.secmgmt.interfaces.people.IScroungerRule;
> import com.secmgmt.interfaces.people.IPersonType;
>
> import java.util.List;
> import java.util.ArrayList;
> import java.util.Iterator;
> import org.apache.log4j.Logger;
>
> /**
> * <code>IndexAction</code>
> *
> * @author Mike Baranski (mike@secmgmt.com)
> */
> public class SaveRuleNameDaysTypes extends SMCBaseAction
> {
> private static Logger l =
> Logger.getLogger(SaveRuleNameDaysTypes.class);
> private IAuthProvider authProvider;
> private IScroungerProvider sp;
> private IPersonProvider ppp;
>
> private Long ruleId;
> private Integer days;
> private String ruleName;
>
> private IScroungerRule r;
>
> public IScroungerRule getRule()
> {
> return r;
> }
>
> public void setRule(IScroungerRule r)
> {
> this.r = r;
> }
>
> // Set from the form
> private List<Long> ruleTypes;
>
> // Converted from the form
> private List<IPersonType> ruleIPersonTypes;
>
> public void setRuleDays(String i)
> {
> l.debug("Setting days: " + i);
> try
> {
> this.days = new Integer(i);
> }
> catch(NumberFormatException e)
> {
> l.error("Error parsing: " + e.toString());
> this.days = null;
> }
> }
>
> public void setRuleName(String n)
> {
> l.debug("Setting rule name: " + n);
> this.ruleName = n;
> }
>
> public String getRuleName()
> {
> return this.ruleName;
> }
>
> public Integer getRuleDays()
> {
> return this.days;
> }
>
> public IScroungerProvider getScroungerProvider()
> {
> return this.sp;
> }
>
> public void setScroungerProvider(IScroungerProvider s)
> {
> this.sp = s;
> }
>
> public void setRuleTypes(List<Long> l) throws Exception
> {
> this.ruleIPersonTypes = new ArrayList<IPersonType>(l.size());
> Iterator<Long> typeIter = l.iterator();
> while(typeIter.hasNext())
> {
>
> this.ruleIPersonTypes.add(this.getPersonProvider().getPersonType(typeIter.ne
> xt()));
> }
> } public List<IPersonType> getRuleIPersonTypes()
> {
> return this.ruleIPersonTypes;
> }
>
> public void setPersonProvider(IPersonProvider p)
> {
> this.ppp = p;
> }
>
> public IPersonProvider getPersonProvider()
> {
> return ppp;
> }
>
> public void setAuthProvider(IAuthProvider p)
> {
> this.authProvider = p;
> }
>
> public IAuthProvider getAuthProvider()
> {
> return this.authProvider;
> }
>
> public void setRuleId(Long id)
> {
> this.ruleId = id;
> }
>
> public Long getRuleId()
> {
> return this.ruleId;
> }
>
> /**
> *
> * @return {@link #SUCCESS}
> */
> public String execute() throws Exception
> {
> IScroungerRule rule =
> this.getScroungerProvider().getInstance();
> rule.setRuleName(this.getRuleName());
> rule.setId(this.getRuleId());
> rule.setDays(this.getRuleDays());
> rule.setRulePersonTypes(this.getRuleIPersonTypes());
>
> this.getScroungerProvider().makePersistent(rule);
> this.setRule(rule);
>
> return SUCCESS;
> }
>
> public void validate()
> {
> if(this.getRuleIPersonTypes() == null ||
> this.getRuleIPersonTypes().size() == 0)
> {
> addActionError(getText("sc_no_type_selected"));
> }
> if(this.getRuleName() == null || this.getRuleName().length()
> ==
> 0)
> {
> addActionError(getText("sc_no_rule_name_entered"));
> }
>
> if(this.getRuleDays() == null)
> {
> addActionError(getText("sc_no_rule_days_entered"));
> }
> }
>
> }
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>
>
--
View this message in context: http://www.nabble.com/Stumped-on-form-field-tp22871959p22907970.html
Sent from the Struts - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org