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 ([email protected])
*/
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: [email protected]
For additional commands, e-mail: [email protected]