how to move code from jsp to bean when I am using html:select
HI there
I can run my code on jsp page to show data one <html:select> tab, However, I just cannot my it run properly when I move this code in to bean. Below are my jsp code and bean code, could anyone tell me how to convert them please?
Jsp page:
<%@page
import="java.util.*,com.SurveyMaker.ejb.entity.UserCredentialsEntity,com.SurveyMaker.ejb.session.UserCredentialsBean,com.SurveyMaker.ejb.session.UserCredentialsHandler,javax.naming.InitialContext;"%>
<%@taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html"%>
<%@taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean"%>
<jsp:useBean id="userCredentials"
class="com.SurveyMaker.userManagement.UserCredentials" scope="session" />
<%
UserCredentialsHandler userCredentialsHandler = null;
try {
InitialContext ctx = new InitialContext();
userCredentialsHandler = (UserCredentialsHandler) ctx
.lookup(UserCredentialsBean.LocalJNDIName);
} catch (Exception e) {
e.printStackTrace();
}
Collection users = userCredentialsHandler.getUsers();
ArrayList list1 = new ArrayList();
for (Iterator iter = users.iterator(); iter.hasNext();) {
UserCredentialsEntity user = (UserCredentialsEntity) iter
.next();
list1.add(new com.SurveyMaker.userManagement.UserCredentials(
user.getId(), user.getFirstName(), user.getLastName(),
user.getUsername(), user.getPassword(), user
.getPrivilage()));
}
pageContext.setAttribute("credentials", list1);
%>
<html>
<head>
<title>Manage User Account</title>
</head>
<body>
<html:form action="manageAccount.do">
<!-- because there are more then one bean, i need to use name to define with bean I am going to use, also need to define it's id at the top -->
<html:select name="userCredentials" property="id">
<html:option value="">Select One</html:option>
<html:options collection="credentials" property="id"
labelProperty="firstName" />
</html:select>
</html:form>
</body>
</html>
Bean code:
package com.SurveyMaker.userManagement;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import javax.naming.InitialContext;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import com.SurveyMaker.ejb.entity.UserCredentialsEntity;
import com.SurveyMaker.ejb.session.UserCredentialsBean;
import com.SurveyMaker.ejb.session.UserCredentialsHandler;
/**
* @author Weiming
*
*/
public class UserCredentials extends ActionForm {
private int id = 0;
private String firstName = "";
private String lastName = "";
private String username = "";
private String password = "";
private int privilage = 0;
private String warning = "";
private Collection credentials;
public UserCredentials() {
}
public UserCredentials(int id, String firstName, String lastName,
String username, String password, int privilage) {
this.id = id;
this.firstName = firstName;
this.lastName = lastName;
this.username = username;
this.password = password;
this.privilage = privilage;
}
public String getWarning() {
return warning;
}
public void setWarning(String warning) {
this.warning = warning;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public void addWarning(String warning) {
this.warning = this.warning + "<B><FONT COLOR=RED>" + warning
+ "!</FONT></B>
";
}
public boolean isMissing(String value) {
return ((value == null) || (value.trim().equals("")));
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getPrivilage() {
return privilage;
}
public void setPrivilage(int privilage) {
this.privilage = privilage;
}
public void setCredentials(ActionMapping mapping,HttpServletRequest request) {
UserCredentialsHandler userCredentialsHandler = null;
try {
InitialContext ctx = new InitialContext();
userCredentialsHandler = (UserCredentialsHandler) ctx
.lookup(UserCredentialsBean.LocalJNDIName);
} catch (Exception e) {
e.printStackTrace();
}
Collection users = userCredentialsHandler.getUsers();
ArrayList list = new ArrayList();
for (Iterator iter = users.iterator(); iter.hasNext();) {
UserCredentialsEntity user = (UserCredentialsEntity) iter.next();
list.add(new UserCredentials(user.getId(), user.getFirstName(),
user.getLastName(), user.getUsername(), user.getPassword(),
user.getPrivilage()));
}
request.setAttribute("credentials", list);
}
public Collection getCredentials() {
return credentials;
}
}
Cheers
Ming

