Skip to content

Instantly share code, notes, and snippets.

@theresajayne
Created October 31, 2011 14:08
Show Gist options
  • Save theresajayne/1327564 to your computer and use it in GitHub Desktop.
Save theresajayne/1327564 to your computer and use it in GitHub Desktop.
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package uk.co.inbrand.actions;
import com.opensymphony.xwork2.ActionSupport;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.StrutsStatics;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import uk.co.inbrand.dto.UserRolesBase;
import uk.co.inbrand.service.Service;
/**
*
* @author Thersa Jayne Forster
*/
public class UserRolesAction extends ActionSupport implements StrutsStatics,ServletRequestAware,ServletResponseAware{
private Service appService;
private HttpServletRequest request;
private HttpServletResponse response;
private UserRolesBase userrolesbean;
private List<UserRolesBase> userRolesList;
public UserRolesAction(Service service) {
this.appService = service;
}
public String create() throws Exception {
UserRolesBase dto = new UserRolesBase();
dto.setId(0);
this.setUserrolesbean(dto);
return "input";
}
public String list() throws Exception {
userRolesList = appService.getUserRoles();
return "success";
}
public String edit() throws Exception {
if(request.getParameter("id-edit")!= null) {
userrolesbean = appService.getUserRoleById(Integer.parseInt(request.getParameter("id-edit")));
return "input";
} else {
if(getUserrolesbean() != null) {
appService.saveUserRolesBase(getUserrolesbean());
}
return "success";
}
}
@Override
public void setServletRequest(HttpServletRequest hsr) {
this.request = hsr;
}
@Override
public void setServletResponse(HttpServletResponse hsr) {
this.response = hsr;
}
/**
* @return the userrolesbean
*/
public UserRolesBase getUserrolesbean() {
return userrolesbean;
}
/**
* @param userrolesbean the userrolesbean to set
*/
public void setUserrolesbean(UserRolesBase userrolesbean) {
this.userrolesbean = userrolesbean;
}
/**
* @return the userRolesList
*/
public List<UserRolesBase> getUserRolesList() {
return userRolesList;
}
/**
* @param userRolesList the userRolesList to set
*/
public void setUserRolesList(List<UserRolesBase> userRolesList) {
this.userRolesList = userRolesList;
}
}
tiles config
<definition name="/userRoles.list" extends="BaseLayout">
<put-attribute name="title" value="User Roles"/>
<put-attribute name="body" value="/jsp/userRoleslist.jsp"/>
</definition>
<definition name="/userRoles.edit" extends="BaseLayout">
<put-attribute name="title" value="User Roles"/>
<put-attribute name="body" value="/jsp/entry/userRolesedit.jsp"/>
</definition>
struts.xml
<package name="userroles" namespace="/userroles" extends="struts-default">
<result-types>
<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
</result-types>
<action name="list" class="userRolesAction" method="list">
<result name="success" type="tiles" >/userRoles.list</result>
</action>
<action name="delete" class="userRolesAction" method="delete">
<result name="success" type="tiles" >/userRoles.list</result>
</action>
<action name="create" class="userRolesAction" method="create">
<result name="input" type="tiles" >/userRoles.edit</result>
</action>
<action name="edit" class="userRolesAction" method="edit">
<result name="success" type="tiles" >/userRoles.list</result>
<result name="input" type="tiles" >/userRoles.edit</result>
</action>
</package>
jsp
<%@page import="uk.co.inbrand.dto.UsersBase"%>
<%@page import="uk.co.inbrand.dto.OrganisationBase" %>
<%@page import="java.util.ArrayList" %>
<%@page import="java.util.Iterator" %>
<%@page language="java" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="html" %>
<html:form action="/users/edit.action" >
<table width="80%" border="0">
<tr>
<td><html:hidden name="user_id" key="#userbean.user_id"/>
<html:textfield name="#userbean.user_name" label="UserName" key="#userbean.user_name"/></td>
<td><html:password name="#userbean.user_password" label="Password" key="#userbean.user_password"/></td>
<td><html:textfield name="#userbean.level" label="User Level " key="#userbean.user_level"/></td>
<td><html:textfield name="#userbean.user_firstname" label="Firstname" key="#userbean.user_firstname"/></td>
<td><html:textfield name="#userbean.user_lastname" label="Surname" key="#userbean.user_lastname"/></td>
<td><html:textfield name="#userbean.user_address.addr_line1" label="Address" key="#userbean.user_address.addr_line1"/></td>
<td><html:textfield name="#userbean.user_address.addr_line2" label="" key="#userbean.user_address.addr_line2"/></td>
<td><html:textfield name="#userbean.user_address.addr_line3" label="" key="#userbean.user_address.addr_line3"/></td>
<td><html:textfield name="#userbean.user_address.addr_town" label="Town" key="#userbean.user_address.addr_town"/></td>
<td><html:textfield name="#userbean.user_address.addr_county" label="County" key="#userbean.user_address.addr_county"/></td>
<td><html:textfield name="#userbean.user_address.addr_country" label="Country" key="#userbean.user_address.addr_country"/></td>
<td><html:textfield name="#userbean.user_address.addr_postcode" label="Postcode" key="#userbean.user_address.addr_postcode"/></td>
<td><html:textfield name="#userbean.user_address.addr_phone" label="Phone" key="#userbean.user_address.addr_phone"/></td>
<td><html:textfield name="#userbean.user_address.addr_fax" label="Fax" key="#userbean.user_address.addr_fax"/></td>
<td><html:textfield name="#userbean.user_address.addr_mobile" label="Mobile" key="#userbean.user_address.addr_mobile"/></td>
<td><html:textfield name="#userbean.user_address.addr_email" label="Email" key="#userbean.user_address.addr_email"/>
<html:hidden name="#userbean.user_address.addr_id" key="#userbean.user_address.addr_id"/></td>
<html:submit/>
</tr>
</table>
</html:form>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment