Thanks a lot for your answer. Concerning request =
ServletActionContext.getRequest(); and tmp =
request.getParameter("cardNo"); - I am doing it cause I did not manage
to use getCardNo() method - it always return 0 in the case of int. Here
is my action class - probably you will help me again..))
JAVA class:
package com.my.intra4.actions;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.hsqldb.lib.Set;
import com.opensymphony.xwork2.ActionSupport;
import com.my.intra4.ejb.cf.session.PersonalInfoInterface;
import com. my.intra4.ejb.cf.session.UserManagerInterface;
import com. my.intra4.ejb.wtt.CardsVO;
import com. my.intra4.ejb.wtt.WTT;
import com. my.intra4.util.Functions;
import com. my.intra4.util.GetPropsSingle;
import com. my.intra4.util.Menu;
public class EmployeeCard extends ActionSupport implements
ServletRequestAware {
private static final long serialVersionUID = 564633345679L;
private HttpServletRequest request;
private HttpServletResponse response;
private ArrayList<Menu> menu_items = null;
private ArrayList<Menu> page_menu_items = null;
private ArrayList<Menu> page_menu_manager_items = null;
private String actionName;
private PersonalInfoInterface pInfoInterface = null;
private String fio;
private String EmpNo;
private CardsVO card;
private Integer cardNo;
private String cardN;
boolean addCard = false;
boolean editCard = false;
private String UserId;
private int fieldName;
private UserManagerInterface uManagerInterface = null;
public String getUserId() {
return UserId;
}
public void setUserId(String userId) {
UserId = userId;
}
public UserManagerInterface getUManagerInterface() {
return uManagerInterface;
}
public void setUManagerInterface(UserManagerInterface
managerInterface) {
uManagerInterface = managerInterface;
}
public boolean isAddCard() {
return addCard;
}
public void setAddCard(boolean addCard) {
this.addCard = addCard;
}
public boolean isEditCard() {
return editCard;
}
public void setEditCard(boolean editCard) {
this.editCard = editCard;
}
public Integer getCardNo() {
return this.cardNo;
}
public void setCardNo(Integer cardNo) {
this.cardNo = cardNo;
}
public void validate() {
// request = ServletActionContext.getRequest();
// String tmp = "";
try {
// tmp = request.getParameter("cardNo");
// Integer i = this.getCardNo();
// System.out.println("Card no from get = " +
i);
// if (tmp != null && tmp.length() > 0) {
// int tmpInt = Integer.parseInt(tmp);
// this.setCardNo(tmpInt);
// System.out.println("Card no (validation) = "
+ cardNo);
// if (cardNo < 1 || cardNo > 9999) {
//
// addFieldError("cardNo", "Must be int");
//
// Map map = request.getParameterMap();
// Set set = (Set) map.keySet();
// Iterator it = (Iterator) set.iterator();
//
// while (it.hasNext()) {
// String elem = (String) it.next();
//
// System.out.println("Param " + i + " = " +
map.get(elem));
//
// }
//
//
// System.out.println("INPUT...");
// }
// }
System.out.println("Card no (validation) = " +
getCardNo());
if (getCardNo() != null && (getCardNo() < 0 ||
getCardNo() > 999999)) {
addFieldError("cardNo", "Must be int");
System.out.println("INPUT...");
}
} catch (Exception e) {
e.printStackTrace();
}
}
public String execute() throws Exception {
System.out.println("Start execution...");
actionName = Functions.getActionName();
request = ServletActionContext.getRequest();
// request = ServletActionContext.getRequest();
this.menu_items = Functions.formMenu();
this.page_menu_items =
Functions.formPageMenu(this.request);
this.page_menu_manager_items =
Functions.formEmplManagerMenu();
// String tmp = "";
// try {
// tmp = request.getParameter("cardNo");
// Integer i = this.getCardNo();
// System.out.println("Card no from get = " + i);
// if (tmp != null && tmp.length() > 0) {
// int tmpInt = Integer.parseInt(tmp);
// this.setCardNo(tmpInt);
// System.out.println("Card no (validation) = " +
cardNo);
// if (cardNo < 1 || cardNo > 9999) {
//
// this.addFieldError("cardNo", "Must be int");
// System.out.println("INPUT...");
// return "input";
// }
// }
// } catch (Exception e) {
//
// e.printStackTrace();
// }
EmpNo = request.getParameter("EmpNo");
uManagerInterface =
GetPropsSingle.getInstance().getUserManager();
UserId =
uManagerInterface.getUserId(request.getRemoteUser())
.toString();
pInfoInterface =
GetPropsSingle.getInstance().getPersonalInfo();
WTT WTTObject =
GetPropsSingle.getInstance().getWTTObject();
fio =
pInfoInterface.getEmployeeInfo(Long.parseLong(EmpNo))
.getSurname()
+ " "
+
pInfoInterface.getEmployeeInfo(Long.parseLong(EmpNo))
.getName()
+ " "
+
pInfoInterface.getEmployeeInfo(Long.parseLong(EmpNo))
.getPatronymic();
String tmpAddCard = request.getParameter("addCard");
String tmpEditCard = request.getParameter("editCard");
String tmpAddCardFinal =
request.getParameter("addCardFinal");
String tmpEditCardFinal =
request.getParameter("editCardFinal");
if (tmpAddCardFinal != null && tmpAddCardFinal != "") {
CardsVO tmpCard = new CardsVO();
cardN = request.getParameter("cardNo");
if (cardN != null && cardN != "") {
tmpCard.setId(Long.parseLong(cardN));
tmpCard.setEmployeId(Long.parseLong(EmpNo));
WTTObject.addCard(tmpCard);
response =
ServletActionContext.getResponse();
response.sendRedirect(request.getContextPath()
+
"/GetEmployee.action?employeeId=" + EmpNo);
}
}
if (tmpEditCardFinal != null && tmpEditCardFinal != "")
{
CardsVO tmpCard = new CardsVO();
cardN = request.getParameter("cardNo");
tmpCard =
WTTObject.getCardByEmpID(Long.parseLong(EmpNo));
if (cardN != null && cardN != "") {
tmpCard.setId(Long.parseLong(cardN));
tmpCard.setEmployeId(Long.parseLong(EmpNo));
WTTObject.setCard(tmpCard);
response =
ServletActionContext.getResponse();
response.sendRedirect(request.getContextPath()
+
"/GetEmployee.action?employeeId=" + EmpNo);
}
}
addCard = false;
if (tmpAddCard != null && tmpAddCard != "") {
addCard = true;
}
editCard = false;
if (tmpEditCard != null && tmpEditCard != "") {
editCard = true;
}
if (editCard == true) {
card =
WTTObject.getCardByEmpID(Long.parseLong(EmpNo));
cardN = String.valueOf(card.getId());
cardNo =
Integer.parseInt(String.valueOf(card.getId()).trim());
}
if (addCard == true) {
cardN = "";
}
return "SUCCESS";
}
public String getEmpNo() {
return EmpNo;
}
public void setEmpNo(String empNo) {
EmpNo = empNo;
}
public String getFio() {
return fio;
}
public void setFio(String fio) {
this.fio = fio;
}
public String getActionName() {
return actionName;
}
public void setActionName(String actionName) {
this.actionName = actionName;
}
public void setServletRequest(HttpServletRequest request) {
// TODO Auto-generated method stub
this.request = request;
}
public ArrayList<Menu> getMenu_items() {
return menu_items;
}
public void setMenu_items(ArrayList<Menu> menu_items) {
this.menu_items = menu_items;
}
public ArrayList<Menu> getPage_menu_items() {
return page_menu_items;
}
public void setPage_menu_items(ArrayList<Menu> page_menu_items)
{
this.page_menu_items = page_menu_items;
}
public ArrayList<Menu> getPage_menu_manager_items() {
return page_menu_manager_items;
}
public void setPage_menu_manager_items(
ArrayList<Menu> page_menu_manager_items) {
this.page_menu_manager_items = page_menu_manager_items;
}
public CardsVO getCard() {
return card;
}
public void setCard(CardsVO card) {
this.card = card;
}
public HttpServletResponse getResponse() {
return response;
}
public void setResponse(HttpServletResponse response) {
this.response = response;
}
public int getFieldName() {
return fieldName;
}
public void setFieldName(int fieldName) {
this.fieldName = fieldName;
}
public String getCardN() {
return cardN;
}
public void setCardN(String cardN) {
this.cardN = cardN;
}
}
-----Original Message-----
From: Lukasz Lenart [mailto:[EMAIL PROTECTED]
Sent: Tuesday, March 18, 2008 11:09 AM
To: Struts Users Mailing List
Subject: Re: Custom validation with Struts2
> request = ServletActionContext.getRequest();
> String tmp = "";
> try {
> tmp = request.getParameter("cardNo");
> Integer i = this.getCardNo();
> if (tmp != null && tmp.length() > 0) {
> int tmpInt = Integer.parseInt(tmp);
Remove this part above
> this.setCardNo(tmpInt);
You don't have to do this, it will be done by Struts2
> System.out.println("Card no (validation) = "
+ cardNo);
> if (cardNo < 1 || cardNo > 999999) {
> addFieldError("cardNo", "Must be int");
> System.out.println("INPUT...");
> }
That's all you have to have in your validate() method (if cardNo has
getter and setter defined in action class)
Remove also validate=true from your form, because you don't use client
side validation.
Regards
--
Lukasz
http://www.linkedin.com/in/lukaszlenart
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]