HTTP Request Maps is a framework/utility that provides a structured way to map HTTP Request parameters to Java Beans and get Java Beans and/or Java Bean Collections . It supports the population of
<filter> <filter-name>requestMapFilter</filter-name> <filter-class>com.mrkuchipudi.requestmaps.processor.RequestMapFilter</filter-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/request-maps.xml</param-value> </init-param> </filter> <filter-mapping> <filter-name>requestMapFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> |
<?xml version="1.0" encoding="UTF-8"?> <request-maps> <map id=" "> <map id=" "> </map> </request-maps> |
<map id="/hrmexamples/simpleBeanAction"> <bean id="billInfo" type="com.mrkuchipudi.requestmaps.examples.BillInfo"/> </map> |
<form name="billForm" method="POST" action="simpleBeanAction"> Bill Date : <input type="textbox" name="billDate" value="01/12/2005"> Bill Amount : <input type="textbox" name="billAmount" value="60.00"> <input type="submit" value="Submit"> <input type="submit" value="Reset"> </form> |
public class BillInfo { private String billDate; private Double billAmount; /** * @return Returns the billDate. */ public String getBillDate() { return billDate; } /** * @param billDate The billDate to set. */ public void setBillDate(String billDate) { this.billDate = billDate; } /** * @return Returns the billAmount. */ public Double getBillAmount() { return billAmount; } /** * @param billAmount The billAmount to set. */ public void setBillAmount(Double billAmount) { this.billAmount = billAmount; } } |
<map id="/hrmexamples/nestedBeanAction"> <bean id="billInfo" <type="com.mrkuchipudi.requestmaps.examples.BillInfo"/> <bean id="billInfo.billId" <type="com.mrkuchipudi.requestmaps.examples.BillId"/> </map> |
<form name="billForm" method="POST" action="nestedBeanAction"> Bill Date : <input type="textbox" name="billDate" value="01/12/2005"> Bill Amount : <input type="textbox" name="billAmount" value="23.56"> Bill # : <input type="textbox" name="billNumber" value="3"> <input type="submit" value="Submit"> <input type="submit" value="Reset"> </form> |
public class BillInfo { private BillId billId; private String billDate; private Double billAmount; /** * @return Returns the billDate. */ public String getBillDate() { return billDate; } /** * @param billDate The billDate to set. */ public void setBillDate(String billDate) { this.billDate = billDate; } /** * @return Returns the billId. */ public BillId getBillId() { return billId; } /** * @param billId The billId to set. */ public void setBillId(BillId billId) { this.billId = billId; } /** * @return Returns the billAmount. */ public Double getBillAmount() { return billAmount; } /** * @param billAmount The billAmount to set. */ public void setBillAmount(Double billAmount) { this.billAmount = billAmount; } } |
public class BillId { private Long billNumber; /** * @return Returns the billNumber. */ public Long getBillNumber() { return billNumber; } /** * @param billNumber The billNumber to set. */ public void setBillNumber(Long billNumber) { this.billNumber = billNumber; } } |
<map id="/hrmexamples/beanCollectionAction"> <bean id="billInfo" type="com.mrkuchipudi.requestmaps.examples.BillInfo"/> <bean id="billInfo.billItems" mode="LIST" type="com.mrkuchipudi.requestmaps.examples.BillItemInfo" params="itemId,itemName,quantity,amount" fields="itemId,itemName,quantity,amount"/> </map> |
<form name="billForm" method="POST" action="beanCollectionAction"> Bill Date : <input type="textbox" name="billDate" value="test"> Bill Amount : <input type="textbox" name="billAmount" value="23.56"> Bill # : <input type="textbox" name="billNumber" value="3"> <input type="textbox" name="itemId" value="1"><input type="textbox" name="itemName" value="coke">&l;tinput type="textbox" name="quantity" value="23232"><input type="textbox" name="amount" value="23232.33"> <input type="textbox" name="itemId" value="2"><input type="textbox" name="itemName" value="pepsi"><input type="textbox" name="quantity" value="1212"><input type="textbox" name="amount" value="23232.23"> <input type="submit" value="Submit"> <input type="submit" value="Reset"> </form> |
public class BillInfo { private BillId billId; private String billDate; private Collection billItems; private Double billAmount; /** * @return Returns the billDate. */ public String getBillDate() { return billDate; } /** * @param billDate The billDate to set. */ public void setBillDate(String billDate) { this.billDate = billDate; } /** * @return Returns the billId. */ public BillId getBillId() { return billId; } /** * @param billId The billId to set. */ public void setBillId(BillId billId) { this.billId = billId; } /** * @return Returns the billItems. */ public Collection getBillItems() { return billItems; } /** * @param billItems The billItems to set. */ public void setBillItems(Collection billItems) { this.billItems = billItems; } /** * @return Returns the billAmount. */ |
public class BillItemInfo { private String itemId; private String itemName; private Double quantity; private Double amount; /** * @return Returns the itemId. */ public String getItemId() { return itemId; } /** * @param itemId The itemId to set. */ public void setItemId(String itemId) { this.itemId = itemId; } /** * @return Returns the itemName. */ public String getItemName() { return itemName; } /** * @param itemName The itemName to set. */ public void setItemName(String itemName) { this.itemName = itemName; } /** * @return Returns the amount. */ public Double getAmount() { return amount; } /** * @param amount The amount to set. */ public void setAmount(Double amount) { this.amount = amount; } /** * @return Returns the quantity. */ public Double getQuantity() { return quantity; } /** * @param quantity The quantity to set. */ public void setQuantity(Double quantity) { this.quantity = quantity; } } |
<map id="/hrmexamples/beanCollectionConditionalAction"> <bean id="billInfo" type="com.mrkuchipudi.requestmaps.examples.BillInfo"/> <bean id="billInfo.billItems" mode="LIST" type="com.mrkuchipudi.requestmaps.examples.BillItemInfo" params="quantity,amount" fields="quantity,amount" paramsOptional="itemId,itemName" fieldsOptional="itemId,itemName"/> </map> |
<form name="billForm" method="POST" action="beanCollectionAction"> Bill Date : <input type="textbox" name="billDate" value="test"> Bill Amount : <input type="textbox" name="billAmount" value="23.56"> Bill # : <input type="textbox" name="billNumber" value="3"> <input type="textbox" name="itemId" value="1"><input type="textbox" name="itemName" value="coke">&l;tinput type="textbox" name="quantity" value="23232"><input type="textbox" name="amount" value="23232.33"> <input type="textbox" name="itemId" value="2"><input type="textbox" name="itemName" value="pepsi"><input type="textbox" name="quantity" value="1212"><input type="textbox" name="amount" value="23232.23"> <input type="submit" value="Submit"> <input type="submit" value="Reset"> </form> |
public class BillInfo { private BillId billId; private String billDate; private Collection billItems; private Double billAmount; /** * @return Returns the billDate. */ public String getBillDate() { return billDate; } /** * @param billDate The billDate to set. */ public void setBillDate(String billDate) { this.billDate = billDate; } /** * @return Returns the billId. */ public BillId getBillId() { return billId; } /** * @param billId The billId to set. */ public void setBillId(BillId billId) { this.billId = billId; } /** * @return Returns the billItems. */ public Collection getBillItems() { return billItems; } /** * @param billItems The billItems to set. */ public void setBillItems(Collection billItems) { this.billItems = billItems; } /** * @return Returns the billAmount. */ |
public class BillItemInfo { private String itemId; private String itemName; private Double quantity; private Double amount; /** * @return Returns the itemId. */ public String getItemId() { return itemId; } /** * @param itemId The itemId to set. */ public void setItemId(String itemId) { this.itemId = itemId; } /** * @return Returns the itemName. */ public String getItemName() { return itemName; } /** * @param itemName The itemName to set. */ public void setItemName(String itemName) { this.itemName = itemName; } /** * @return Returns the amount. */ public Double getAmount() { return amount; } /** * @param amount The amount to set. */ public void setAmount(Double amount) { this.amount = amount; } /** * @return Returns the quantity. */ public Double getQuantity() { return quantity; } /** * @param quantity The quantity to set. */ public void setQuantity(Double quantity) { this.quantity = quantity; } } |