- introduced sitemesh for templating, all templates rewritten - added some basic admin stuff
/trunk/src/struts.xml |
---|
3,14 → 3,40 |
"http://struts.apache.org/dtds/struts-2.0.dtd"> |
<struts> |
<constant name="struts.devMode" value="false" /> <!-- set to true for more debugging output --> |
<package name="default" extends="hibernate-default"> |
<!-- User environment --> |
<package name="user" namespace="/user" extends="struts-default"> |
<action name="LoginDo" method="verifyUser" class="ch.ffhs.webE.action.LoginAction"> |
<result name="admin" type="redirect">/admin_index.jsp</result> |
<result name="user" type="redirect">/user_index.jsp</result> |
</package> |
<!-- Admin environment --> |
<package name="admin" namespace="/admin" extends="hibernate-default"> |
<action name="userAddForm"> |
<result>/admin/userAddForm.jsp</result> |
</action> |
<action name="doUserAdd" method="addForm" class="ch.ffhs.webE.action.UserAction"> |
<result name="success" type="redirect">/admin/userAdd.jsp</result> |
</action> |
<action name="userList"> |
<result>/admin/userList.jsp</result> |
</action> |
</package> |
<!-- Remaining environment of the session--> |
<package name="default" namespace="" extends="hibernate-default"> |
<!-- Login --> |
<action name="Login" method="doLogin" class="ch.ffhs.webE.action.LoginAction"> |
<result name="admin" type="redirect">/admin/main.jsp</result> |
<result name="user" type="redirect">/user/main.jsp</result> |
<result name="failed" type="redirect">/index.jsp</result> |
</action> |
<action name="Logout" method="doLogout" class="ch.ffhs.webE.action.LoginAction"> |
<result name="success" type="redirect">/index.jsp</result> |
</action> |
</package> |
</struts> |
/trunk/src/ch/ffhs/webE/web/UserAction.java |
---|
File deleted |
Property changes: |
Deleted: svn:mime-type |
## -1 +0,0 ## |
-text/plain |
\ No newline at end of property |
Index: src/ch/ffhs/webE/action/UserForm.java |
=================================================================== |
--- src/ch/ffhs/webE/action/UserForm.java (nonexistent) |
+++ src/ch/ffhs/webE/action/UserForm.java (revision 20) |
@@ -0,0 +1,73 @@ |
+package ch.ffhs.webE.action; |
+ |
+import javax.servlet.http.HttpServletRequest; |
+ |
+import org.apache.struts2.components.ActionError; |
+import org.apache.struts2.dispatcher.mapper.ActionMapping; |
+ |
+import com.opensymphony.xwork2.ActionSupport; |
+ |
+public class UserForm extends ActionSupport { |
+ |
+ private static final long serialVersionUID = 2574972467250197244L; |
+ |
+ private String username; |
+ private String password; |
+ private String firstname; |
+ private String lastname; |
+ private boolean admin; |
+ |
+ public void reset(ActionMapping mapping, HttpServletRequest request) { |
+ this.username = null; |
+ this.password = null; |
+ this.firstname = null; |
+ this.lastname = null; |
+ this.admin = false; |
+ } |
+ |
+ public void validate() { |
+ |
+ } |
+ |
+ |
+ // Getter and setters |
+ public String getUsername() { |
+ return username; |
+ } |
+ |
+ public void setUsername(String username) { |
+ this.username = username; |
+ } |
+ |
+ public String getPassword() { |
+ return password; |
+ } |
+ |
+ public void setPassword(String password) { |
+ this.password = password; |
+ } |
+ |
+ 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 boolean isAdmin() { |
+ return admin; |
+ } |
+ |
+ public void setAdmin(boolean admin) { |
+ this.admin = admin; |
+ } |
+} |
/src/ch/ffhs/webE/action/UserForm.java |
---|
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+text/plain |
\ No newline at end of property |
Index: src/ch/ffhs/webE/action/LoginAction.java |
=================================================================== |
--- src/ch/ffhs/webE/action/LoginAction.java (revision 19) |
+++ src/ch/ffhs/webE/action/LoginAction.java (revision 20) |
@@ -1,10 +1,13 @@ |
package ch.ffhs.webE.action; |
+import java.util.Map; |
+ |
import ch.ffhs.webE.dao.UserDAO; |
import ch.ffhs.webE.dao.UserDAOImpl; |
import ch.ffhs.webE.domain.User; |
+import com.opensymphony.xwork2.ActionContext; |
import com.opensymphony.xwork2.ActionSupport; |
import com.opensymphony.xwork2.ModelDriven; |
@@ -14,14 +17,18 @@ |
private User user = new User(); |
private UserDAO userDAO = new UserDAOImpl(); |
- |
+ //Form fields |
private String userName ; |
private String pw; |
+ //Session Object |
+ Map<String, Object> session = ActionContext.getContext().getSession(); |
+ |
+ |
public LoginAction() { |
} |
- public String verifyUser() { |
+ public String doLogin() { |
//If password or user name are empty, the login fails. |
if("".equals(getUserName()) || "".equals(getPw()) || getUserName() == null || getPw() == null) { |
@@ -28,14 +35,42 @@ |
return "failed"; |
} |
- User u = userDAO.searchUsername(getUserName()); |
+ String verifiedUser = verifyUser(getUserName(), getPw()); |
+ if(verifiedUser.equals("failed")) { |
+ return "failed"; |
+ } else { |
+ //Put user name, password into session |
+ session.put("username", getUserName()); |
+ session.put("pw", getPw()); |
+ return verifiedUser; |
+ } |
+ } |
+ |
+ public String doLogout() { |
+ //TODO: Kill session content for logout |
+ return SUCCESS; |
+ } |
+ |
+ /** |
+ * Verify user credentials |
+ * @param String username: User name |
+ * @param String password: Password (hashed) |
+ * @return |
+ */ |
+ public String verifyUser(String username, String password) { |
+ //DB Query |
+ User u = userDAO.searchUsername(username); |
+ |
+ //User does not exist |
if(u == null) |
return "failed"; |
- if(!u.getPassword().equals(getPw())) |
+ //User password does not match |
+ if(!u.getPassword().equals(password)) |
return "failed"; |
+ //User credentials are fine, check for admin rights |
if(u.isAdmin()) { |
return "admin"; |
} else { |
/trunk/src/ch/ffhs/webE/action/UserAction.java |
---|
0,0 → 1,58 |
package ch.ffhs.webE.action; |
import java.util.ArrayList; |
import java.util.List; |
import com.opensymphony.xwork2.ActionSupport; |
import com.opensymphony.xwork2.ModelDriven; |
import ch.ffhs.webE.dao.UserDAO; |
import ch.ffhs.webE.dao.UserDAOImpl; |
import ch.ffhs.webE.domain.User; |
public class UserAction extends ActionSupport implements ModelDriven<User> { |
private static final long serialVersionUID = -6659925652584240539L; |
private User user = new User(); |
private List<User> userList = new ArrayList<User>(); |
private UserDAO userDAO = new UserDAOImpl(); |
@Override |
public User getModel() { |
return user; |
} |
public String add() |
{ |
userDAO.saveUser(user); |
return SUCCESS; |
} |
public String addForm() { |
return SUCCESS; |
} |
public String list() |
{ |
userList = userDAO.listUser(); |
return SUCCESS; |
} |
public User getUser() { |
return user; |
} |
public void setUser(User user) { |
this.user = user; |
} |
public List<User> getUserList() { |
return userList; |
} |
public void setUserList(List<User> userList) { |
this.userList = userList; |
} |
} |
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+text/plain |
\ No newline at end of property |
Index: src/log4j.properties |
=================================================================== |
--- src/log4j.properties (revision 19) |
+++ src/log4j.properties (revision 20) |
@@ -3,4 +3,4 @@ |
log4j.appender.stdout.Target=System.out |
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout |
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n |
-log4j.rootLogger=debug, stdout |
\ No newline at end of file |
+log4j.rootLogger=info, stdout |
\ No newline at end of file |
Index: WebContent/login.jsp |
=================================================================== |
--- WebContent/login.jsp (revision 19) |
+++ WebContent/login.jsp (nonexistent) |
@@ -1,13 +0,0 @@ |
-<%@taglib uri="/struts-tags" prefix="s"%> |
-<div id="login"> |
- <h1>Login</h1> |
- |
- <s:form action="LoginDo"> |
- <s:textfield name="userName" label="Benutzername" /> |
- <s:password name="pw" label="Passwort" /> |
- <s:submit /> |
- </s:form> |
- <p> |
- Klicken Sie <a href="index.jsp">hier</a> wenn Sie Ihr Passwort vergessen haben. |
- </p> |
-</div> |
\ No newline at end of file |
/WebContent/login.jsp |
---|
Property changes: |
Deleted: svn:mime-type |
## -1 +0,0 ## |
-text/plain |
\ No newline at end of property |
Index: WebContent/header.jsp |
=================================================================== |
--- WebContent/header.jsp (revision 19) |
+++ WebContent/header.jsp (nonexistent) |
@@ -1,13 +0,0 @@ |
-<table width="100%" border="0" cellspacing="0" cellpadding="0" class="header"> |
- <tr> |
- <td> |
- |
- </td> |
- <td style="vertical-align:top;font-size:12pt;text-align:right;"> |
- <div><strong>Semantic Web Project</strong><br /> |
- by Michael Moos<br /> |
- Thomas Lahn</div> |
- </td> |
- <td width="56" class="no_padding"><img src="resources/images/ontology_logo.jpg" width="56" height="56" alt="logo" /></td> |
- </tr> |
-</table> |
\ No newline at end of file |
/WebContent/header.jsp |
---|
Property changes: |
Deleted: svn:mime-type |
## -1 +0,0 ## |
-text/plain |
\ No newline at end of property |
Index: WebContent/html_head.jsp |
=================================================================== |
--- WebContent/html_head.jsp (revision 19) |
+++ WebContent/html_head.jsp (nonexistent) |
@@ -1,39 +0,0 @@ |
- |
-<%@ page pageEncoding="UTF-8" %> |
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
- |
-<html xmlns="http://www.w3.org/1999/xhtml"> |
-<head> |
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
- <title>Ontologie - WebEngineering-Projekt JSP</title> |
- <link rel="icon" href="resources/images/favicon.gif" type="image/gif" /> |
- <link rel="stylesheet" type="text/css" href="resources/css/main.css" /> |
- <%-- |
- <script type="text/javascript" src="lib/jquery/jquery-1.4.2.min.js"></script> |
- <script type="text/javascript" src="js/core.js"></script> |
- |
- {* Embedd additional javascript files *} |
- {foreach key=row_no item=js_file from=$js_files} |
- <script type="text/javascript" src="js/{ $js_file }"></script> |
- {/foreach} |
- --%> |
-</head> |
-<body> |
-<%-- |
- {* Dialog for different messages (errors, warnings, info) *} |
- <div id="overlay" {if !$dialog_type}class="hidden"{/if}></div> |
- <div id="dialog" class="{if $dialog_type}dialog_{$dialog_type}{else}hidden{/if}"> |
- <div id="dialog_title">{$dialog_title}</div> |
- <div id="dialog_text">{$dialog_text}</div> |
- <div id="dialog_buttons"> |
- <input class="hidden" type="button" id="button_1" value="empty" /> |
- <input class="hidden" type="button" id="button_2" value="empty" /> |
- <input class="hidden" type="button" id="button_3" value="empty" /> |
- <input {if !$dialog_button_ok}class="hidden"{/if} type="button" id="button_ok" value=" OK " alt="{$dialog_button_ok}" /> |
- <input {if !$dialog_button_yes}class="hidden"{/if} type="button" id="button_yes" value=" Yes " alt="{$dialog_button_yes}" /> |
- <input {if !$dialog_button_no}class="hidden"{/if} type="button" id="button_no" value=" No " alt="{$dialog_button_no}" /> |
- <input {if !$dialog_button_continue}class="hidden"{/if} type="button" id="button_continue" value=" Continue " alt="{$dialog_button_continue}" /> |
- <input {if !$dialog_button_cancel}class="hidden"{/if} type="button" id="button_cancel" value=" Cancel " alt="{$dialog_button_cancel}" /> |
- </div> |
- </div> |
- --%> |
\ No newline at end of file |
/WebContent/html_head.jsp |
---|
Property changes: |
Deleted: svn:mime-type |
## -1 +0,0 ## |
-text/plain |
\ No newline at end of property |
Index: WebContent/user_main.jsp |
=================================================================== |
--- WebContent/user_main.jsp (revision 19) |
+++ WebContent/user_main.jsp (nonexistent) |
@@ -1 +0,0 @@ |
-<p>Willkommen im User-Bereich</p> |
\ No newline at end of file |
/WebContent/user_main.jsp |
---|
Property changes: |
Deleted: svn:mime-type |
## -1 +0,0 ## |
-text/plain |
\ No newline at end of property |
Index: WebContent/user_index.jsp |
=================================================================== |
--- WebContent/user_index.jsp (revision 19) |
+++ WebContent/user_index.jsp (nonexistent) |
@@ -1,21 +0,0 @@ |
-<%@ page errorPage="ErrorHandler.jsp" %> |
-<%@ include file="html_head.jsp" %> |
- |
- <%-- Only serves as a container for the different site elements! |
- Do not write any text directly into the container div! --%> |
- <div id="page-container"> |
- <div id="header"> |
- <%@ include file="header.jsp" %> |
- </div> |
- |
- <div id="navbar"> |
- <%@ include file="user_nav.jsp" %> |
- </div> |
- |
- <div id="content"> |
- <%@ include file="user_main.jsp" %> |
- </div> |
- </div> |
- |
-</body> |
-</html> |
/WebContent/user_index.jsp |
---|
Property changes: |
Deleted: svn:mime-type |
## -1 +0,0 ## |
-text/plain |
\ No newline at end of property |
Index: WebContent/user_nav.jsp |
=================================================================== |
--- WebContent/user_nav.jsp (revision 19) |
+++ WebContent/user_nav.jsp (nonexistent) |
@@ -1,36 +0,0 @@ |
-<div id="navigation"> |
- <ul> |
- <li> |
- Ontologie |
- <ul> |
- <li> |
- <a href="">Ansehen</a> |
- </li> |
- </ul> |
- </li> |
- |
- <li> |
- Begriffe |
- <ul> |
- <li> |
- <a href="">Hinzufügen</a> |
- </li> |
- <li> |
- <a href="">Ändern, Löschen</a> |
- </li> |
- </ul> |
- </li> |
- |
- <li> |
- Beziehungen |
- <ul> |
- <li> |
- <a href="">Hinzufügen</a> |
- </li> |
- <li> |
- <a href="">Ändern, Löschen</a> |
- </li> |
- </ul> |
- </li> |
- </ul> |
-</div> |
/WebContent/user_nav.jsp |
---|
Property changes: |
Deleted: svn:mime-type |
## -1 +0,0 ## |
-text/plain |
\ No newline at end of property |
Index: WebContent/index.jsp |
=================================================================== |
--- WebContent/index.jsp (revision 19) |
+++ WebContent/index.jsp (revision 20) |
@@ -1,16 +1,21 @@ |
-<%@ page errorPage="ErrorHandler.jsp" %> |
-<%@ include file="html_head.jsp" %> |
+<%@taglib uri="/struts-tags" prefix="s"%> |
+<%@ page pageEncoding="UTF-8" %> |
+<html> |
+<head> |
+ <title>Login</title> |
+</head> |
+<body> |
+<div id="login"> |
+ <h1>Login</h1> |
- <%-- Only serves as a container for the different site elements! |
- Do not write any text directly into the container div! --%> |
- |
- <div id="page-container"> |
- <div id="header"> |
- <%@ include file="header.jsp" %> |
+ <s:form action="Login"> |
+ <s:textfield name="userName" label="Benutzername" /> |
+ <s:password name="pw" label="Passwort" /> |
+ <s:submit /> |
+ </s:form> |
+ <p> |
+ Klicken Sie <a href="index.jsp">hier</a> wenn Sie Ihr Passwort vergessen haben. |
+ </p> |
</div> |
- |
- <%@ include file="login.jsp" %> |
- </div> |
- |
</body> |
</html> |
/trunk/WebContent/decorators/mainTemplate.jsp |
---|
0,0 → 1,59 |
<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator" %> |
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> |
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> |
<c:set var="contextPath" value="${pageContext.request.contextPath}" /> |
<c:set var="requestURI" value="${pageContext.request.requestURI}" /> |
<c:set var="isUser" value="${fn:contains(requestURI, '/user/')}" /> |
<c:set var="isAdmin" value="${fn:contains(requestURI, '/admin/')}" /> |
<%@ page pageEncoding="UTF-8" %> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
<title>Ontologie - <decorator:title /></title> |
<link rel="stylesheet" type="text/css" href="${contextPath}/resources/css/main.css" /> |
</head> |
<body> |
<%-- Only serves as a container for the different site elements! |
Do not write any text directly into the page-container div! --%> |
<div id="page-container"> |
<div id="header"> |
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="header"> |
<tr> |
<td> |
|
</td> |
<td style="vertical-align:top;font-size:12pt;text-align:right;"> |
<div><strong>Semantic Web Project</strong><br /> |
by Michael Moos<br /> |
Thomas Lahn</div> |
</td> |
<td width="56" class="no_padding"><img src="${contextPath}/resources/images/ontology_logo.jpg" width="56" height="56" alt="logo" /></td> |
</tr> |
</table> |
</div> |
<!-- Load nav bars depending on the location --> |
<c:if test="${isUser}"> |
<div id="navbar"> |
<%@ include file="/user/nav.jsp" %> |
</div> |
</c:if> |
<c:if test="${isAdmin}"> |
<div id="navbar"> |
<%@ include file="/admin/nav.jsp" %> |
</div> |
</c:if> |
<!-- Content DIV loaded via decorator --> |
<div id="content"> |
<decorator:body /> |
</div> |
</div> |
</body> |
</html> |
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+text/plain |
\ No newline at end of property |
Index: WebContent/WEB-INF/sitemesh.xml |
=================================================================== |
--- WebContent/WEB-INF/sitemesh.xml (nonexistent) |
+++ WebContent/WEB-INF/sitemesh.xml (revision 20) |
@@ -0,0 +1,50 @@ |
+<sitemesh> |
+ |
+ <page-parsers> |
+ <parser default="true" class="com.opensymphony.module.sitemesh.parser.DefaultPageParser" /> |
+ <parser content-type="text/html" class="com.opensymphony.module.sitemesh.parser.FastPageParser" /> |
+ </page-parsers> |
+ |
+ <decorator-mappers> |
+ |
+ <mapper class="com.opensymphony.module.sitemesh.mapper.PageDecoratorMapper"> |
+ <param name="property.1" value="meta.decorator" /> |
+ <param name="property.2" value="decorator" /> |
+ </mapper> |
+ |
+ <mapper class="com.opensymphony.module.sitemesh.mapper.FrameSetDecoratorMapper"> |
+ </mapper> |
+ |
+ <mapper class="com.opensymphony.module.sitemesh.mapper.AgentDecoratorMapper"> |
+ <param name="match.MSIE" value="ie" /> |
+ <param name="match.Mozilla [" value="ns" /> |
+ <param name="match.Opera" value="opera" /> |
+ <param name="match.Lynx" value="lynx" /> |
+ </mapper> |
+ |
+ <mapper class="com.opensymphony.module.sitemesh.mapper.PrintableDecoratorMapper"> |
+ <param name="decorator" value="printable" /> |
+ <param name="parameter.name" value="printable" /> |
+ <param name="parameter.value" value="true" /> |
+ </mapper> |
+ |
+ <mapper class="com.opensymphony.module.sitemesh.mapper.RobotDecoratorMapper"> |
+ <param name="decorator" value="robot" /> |
+ </mapper> |
+ |
+ <mapper class="com.opensymphony.module.sitemesh.mapper.ParameterDecoratorMapper"> |
+ <param name="decorator.parameter" value="decorator" /> |
+ <param name="parameter.name" value="confirm" /> |
+ <param name="parameter.value" value="true" /> |
+ </mapper> |
+ |
+ <mapper class="com.opensymphony.module.sitemesh.mapper.FileDecoratorMapper"> |
+ </mapper> |
+ |
+ <mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper"> |
+ <param name="config" value="/WEB-INF/decorators.xml" /> |
+ </mapper> |
+ |
+ </decorator-mappers> |
+ |
+</sitemesh> |
\ No newline at end of file |
/WebContent/WEB-INF/sitemesh.xml |
---|
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+text/plain |
\ No newline at end of property |
Index: WebContent/WEB-INF/sitemesh-decorator.tld |
=================================================================== |
--- WebContent/WEB-INF/sitemesh-decorator.tld (nonexistent) |
+++ WebContent/WEB-INF/sitemesh-decorator.tld (revision 20) |
@@ -0,0 +1,79 @@ |
+<?xml version="1.0" encoding="UTF-8"?> |
+<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"> |
+ |
+<taglib> |
+ |
+ <tlibversion>1.0</tlibversion> |
+ <jspversion>1.1</jspversion> |
+ <shortname>SiteMesh Decorator Tags</shortname> |
+ <uri>sitemesh-decorator</uri> |
+ |
+ <tag> |
+ <name>head</name> |
+ <tagclass>com.opensymphony.module.sitemesh.taglib.decorator.HeadTag</tagclass> |
+ <bodycontent>JSP</bodycontent> |
+ </tag> |
+ |
+ <tag> |
+ <name>body</name> |
+ <tagclass>com.opensymphony.module.sitemesh.taglib.decorator.BodyTag</tagclass> |
+ <bodycontent>JSP</bodycontent> |
+ </tag> |
+ |
+ <tag> |
+ <name>title</name> |
+ <tagclass>com.opensymphony.module.sitemesh.taglib.decorator.TitleTag</tagclass> |
+ <bodycontent>JSP</bodycontent> |
+ <attribute> |
+ <name>default</name> |
+ <required>false</required> |
+ <rtexprvalue>true</rtexprvalue> |
+ </attribute> |
+ </tag> |
+ |
+ <tag> |
+ <name>getProperty</name> |
+ <tagclass>com.opensymphony.module.sitemesh.taglib.decorator.PropertyTag</tagclass> |
+ <bodycontent>JSP</bodycontent> |
+ <attribute> |
+ <name>property</name> |
+ <required>true</required> |
+ <rtexprvalue>true</rtexprvalue> |
+ </attribute> |
+ <attribute> |
+ <name>default</name> |
+ <required>false</required> |
+ <rtexprvalue>true</rtexprvalue> |
+ </attribute> |
+ <attribute> |
+ <name>writeEntireProperty</name> |
+ <required>false</required> |
+ <rtexprvalue>true</rtexprvalue> |
+ </attribute> |
+ </tag> |
+ |
+ <tag> |
+ <name>usePage</name> |
+ <tagclass>com.opensymphony.module.sitemesh.taglib.decorator.UsePageTag</tagclass> |
+ <teiclass>com.opensymphony.module.sitemesh.taglib.decorator.UsePageTEI</teiclass> |
+ <bodycontent>JSP</bodycontent> |
+ <attribute> |
+ <name>id</name> |
+ <required>true</required> |
+ <rtexprvalue>false</rtexprvalue> |
+ </attribute> |
+ </tag> |
+ |
+ <tag> |
+ <name>useHtmlPage</name> |
+ <tagclass>com.opensymphony.module.sitemesh.taglib.decorator.UsePageTag</tagclass> |
+ <teiclass>com.opensymphony.module.sitemesh.taglib.decorator.UseHTMLPageTEI</teiclass> |
+ <bodycontent>JSP</bodycontent> |
+ <attribute> |
+ <name>id</name> |
+ <required>true</required> |
+ <rtexprvalue>false</rtexprvalue> |
+ </attribute> |
+ </tag> |
+ |
+</taglib> |
\ No newline at end of file |
/WebContent/WEB-INF/sitemesh-decorator.tld |
---|
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+text/plain |
\ No newline at end of property |
Index: WebContent/WEB-INF/decorators.xml |
=================================================================== |
--- WebContent/WEB-INF/decorators.xml (nonexistent) |
+++ WebContent/WEB-INF/decorators.xml (revision 20) |
@@ -0,0 +1,7 @@ |
+<decorators defaultdir="/decorators"> |
+ <decorator name="main" page="mainTemplate.jsp"> |
+ <pattern>*</pattern> |
+ </decorator> |
+ |
+ <!-- <decorator name="panel" page="main.jsp"/>--> |
+</decorators> |
\ No newline at end of file |
/WebContent/WEB-INF/decorators.xml |
---|
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+text/plain |
\ No newline at end of property |
Index: WebContent/WEB-INF/lib/jstl-1.2.jar |
=================================================================== |
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/WebContent/WEB-INF/lib/jstl-1.2.jar |
---|
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+application/octet-stream |
\ No newline at end of property |
Index: WebContent/WEB-INF/lib/sitemesh-2.4.1.jar |
=================================================================== |
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/WebContent/WEB-INF/lib/sitemesh-2.4.1.jar |
---|
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+application/octet-stream |
\ No newline at end of property |
Index: WebContent/WEB-INF/web.xml |
=================================================================== |
--- WebContent/WEB-INF/web.xml (revision 19) |
+++ WebContent/WEB-INF/web.xml (revision 20) |
@@ -2,7 +2,22 @@ |
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> |
<display-name>WebEngineeringProject</display-name> |
+ |
+ <!-- Start of SiteMesh stuff --> |
<filter> |
+ <filter-name>sitemesh</filter-name> |
+ <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class> |
+ </filter> |
+ |
+ <filter-mapping> |
+ <filter-name>sitemesh</filter-name> |
+ <url-pattern>*</url-pattern> |
+ </filter-mapping> |
+ <!-- End of SiteMesh stuff --> |
+ |
+ |
+ <!-- Begin struts 2 --> |
+ <filter> |
<filter-name>struts2</filter-name> |
<filter-class> |
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> |
@@ -11,23 +26,10 @@ |
<filter-name>struts2</filter-name> |
<url-pattern>/*</url-pattern> |
</filter-mapping> |
+ <!-- End struts 2 --> |
<welcome-file-list> |
- <welcome-file>index.html</welcome-file> |
- <welcome-file>index.htm</welcome-file> |
<welcome-file>index.jsp</welcome-file> |
- <welcome-file>default.html</welcome-file> |
- <welcome-file>default.htm</welcome-file> |
- <welcome-file>default.jsp</welcome-file> |
</welcome-file-list> |
- <servlet> |
- <description></description> |
- <display-name>Servlet</display-name> |
- <servlet-name>Servlet</servlet-name> |
- <servlet-class>Servlet</servlet-class> |
- </servlet> |
- <servlet-mapping> |
- <servlet-name>Servlet</servlet-name> |
- <url-pattern>/Servlet</url-pattern> |
- </servlet-mapping> |
+ |
</web-app> |
\ No newline at end of file |
/trunk/WebContent/WEB-INF/sitemesh-page.tld |
---|
0,0 → 1,95 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"> |
<taglib> |
<tlibversion>1.0</tlibversion> |
<jspversion>1.1</jspversion> |
<shortname>SiteMesh Page Tags</shortname> |
<uri>sitemesh-page</uri> |
<tag> |
<name>applyDecorator</name> |
<tagclass>com.opensymphony.module.sitemesh.taglib.page.ApplyDecoratorTag</tagclass> |
<bodycontent>JSP</bodycontent> |
<attribute> |
<name>name</name> |
<required>false</required> |
<rtexprvalue>true</rtexprvalue> |
</attribute> |
<attribute> |
<name>page</name> |
<required>false</required> |
<rtexprvalue>true</rtexprvalue> |
</attribute> |
<attribute> |
<name>title</name> |
<required>false</required> |
<rtexprvalue>true</rtexprvalue> |
</attribute> |
<attribute> |
<name>id</name> |
<required>false</required> |
<rtexprvalue>true</rtexprvalue> |
</attribute> |
<attribute> |
<name>contentType</name> |
<required>false</required> |
<rtexprvalue>true</rtexprvalue> |
</attribute> |
<attribute> |
<name>encoding</name> |
<required>false</required> |
<rtexprvalue>true</rtexprvalue> |
</attribute> |
</tag> |
<!-- Deprecated tag: use applyDecorator instead --> |
<tag> |
<name>apply-decorator</name> |
<tagclass>com.opensymphony.module.sitemesh.taglib.page.ApplyDecoratorTag</tagclass> |
<bodycontent>JSP</bodycontent> |
<attribute> |
<name>name</name> |
<required>false</required> |
<rtexprvalue>true</rtexprvalue> |
</attribute> |
<attribute> |
<name>page</name> |
<required>false</required> |
<rtexprvalue>true</rtexprvalue> |
</attribute> |
<attribute> |
<name>title</name> |
<required>false</required> |
<rtexprvalue>true</rtexprvalue> |
</attribute> |
<attribute> |
<name>id</name> |
<required>false</required> |
<rtexprvalue>true</rtexprvalue> |
</attribute> |
<attribute> |
<name>contentType</name> |
<required>false</required> |
<rtexprvalue>true</rtexprvalue> |
</attribute> |
<attribute> |
<name>encoding</name> |
<required>false</required> |
<rtexprvalue>true</rtexprvalue> |
</attribute> |
</tag> |
<tag> |
<name>param</name> |
<tagclass>com.opensymphony.module.sitemesh.taglib.page.ParamTag</tagclass> |
<bodycontent>JSP</bodycontent> |
<attribute> |
<name>name</name> |
<required>false</required> |
<rtexprvalue>true</rtexprvalue> |
</attribute> |
</tag> |
</taglib> |
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+text/plain |
\ No newline at end of property |
Index: WebContent/admin/main.jsp |
=================================================================== |
--- WebContent/admin/main.jsp (nonexistent) |
+++ WebContent/admin/main.jsp (revision 20) |
@@ -0,0 +1,9 @@ |
+<html> |
+<head> |
+<title>Startseite - Administration</title> |
+</head> |
+<body> |
+ |
+<p>Willkommen im Admin-Bereich</p> |
+</body> |
+</html> |
/WebContent/admin/main.jsp |
---|
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+text/plain |
\ No newline at end of property |
Index: WebContent/admin/nav.jsp |
=================================================================== |
--- WebContent/admin/nav.jsp (nonexistent) |
+++ WebContent/admin/nav.jsp (revision 20) |
@@ -0,0 +1,37 @@ |
+<div id="navigation"> |
+ <ul> |
+ <li> |
+ User |
+ <ul> |
+ <li> |
+ <a href="userAddForm">Hinzufügen</a> |
+ </li> |
+ <li> |
+ <a href="userList">Ändern, Löschen</a> |
+ </li> |
+ </ul> |
+ </li> |
+ |
+ <li> |
+ Beziehungen |
+ <ul> |
+ <li> |
+ <a href="">Hinzufügen</a> |
+ </li> |
+ <li> |
+ <a href="">Ändern, Löschen</a> |
+ </li> |
+ </ul> |
+ </li> |
+ |
+ <li> |
+ User-Settings |
+ <ul> |
+ <li> |
+ <a href="../Logout">Logout</a> |
+ </li> |
+ </ul> |
+ </li> |
+ |
+ </ul> |
+</div> |
/WebContent/admin/nav.jsp |
---|
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+text/plain |
\ No newline at end of property |
Index: WebContent/admin/userList.jsp |
=================================================================== |
--- WebContent/admin/userList.jsp (nonexistent) |
+++ WebContent/admin/userList.jsp (revision 20) |
@@ -0,0 +1,10 @@ |
+<html> |
+<head> |
+<title>User bearbeiten</title> |
+</head> |
+<body> |
+ |
+<h1>UserListe</h1> |
+<p>Noch nicht umgesetzt</p> |
+</body> |
+</html> |
\ No newline at end of file |
/WebContent/admin/userList.jsp |
---|
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+text/plain |
\ No newline at end of property |
Index: WebContent/admin/userAddForm.jsp |
=================================================================== |
--- WebContent/admin/userAddForm.jsp (nonexistent) |
+++ WebContent/admin/userAddForm.jsp (revision 20) |
@@ -0,0 +1,20 @@ |
+<%@taglib uri="/struts-tags" prefix="s"%> |
+<html> |
+<head> |
+<title>User erstellen</title> |
+</head> |
+<body> |
+ |
+<h1>User Hinzufügen</h1> |
+<p>Noch nicht umgesetzt...</p> |
+<s:form action="doUserAdd"> |
+ <s:textfield name="username" label="User Name" /> |
+ <s:password name="password" label="Password" /> |
+ <s:textfield name="firstname" label="Vorname" /> |
+ <s:textfield name="lastname" label="Nachname" /> |
+ <s:checkbox name="admin" |
+ label="Soll der User admin sein?" /> |
+ <s:submit value="Add" /> |
+</s:form> |
+</body> |
+</html> |
/WebContent/admin/userAddForm.jsp |
---|
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+text/plain |
\ No newline at end of property |
Index: WebContent/resources |
=================================================================== |
--- WebContent/resources (revision 19) |
+++ WebContent/resources (revision 20) |
/WebContent/resources |
---|
Property changes: |
Added: svn:ignore |
## -0,0 +1,7 ## |
+icons_downloaded |
+ |
+readme.html |
+ |
+readme.txt |
+ |
+famfamfam_silk_icons_v013.zip |
Index: WebContent/user/main.jsp |
=================================================================== |
--- WebContent/user/main.jsp (nonexistent) |
+++ WebContent/user/main.jsp (revision 20) |
@@ -0,0 +1,10 @@ |
+<html> |
+<head> |
+<title>Startseite Benutzer</title> |
+</head> |
+<body> |
+ |
+<p>Willkommen im User-Bereich</p> |
+ |
+</body> |
+</html> |
/WebContent/user/main.jsp |
---|
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+text/plain |
\ No newline at end of property |
Index: WebContent/user/nav.jsp |
=================================================================== |
--- WebContent/user/nav.jsp (nonexistent) |
+++ WebContent/user/nav.jsp (revision 20) |
@@ -0,0 +1,46 @@ |
+<div id="navigation"> |
+ <ul> |
+ <li> |
+ Ontologie |
+ <ul> |
+ <li> |
+ <a href="">Ansehen</a> |
+ </li> |
+ </ul> |
+ </li> |
+ |
+ <li> |
+ Begriffe |
+ <ul> |
+ <li> |
+ <a href="">Hinzufügen</a> |
+ </li> |
+ <li> |
+ <a href="">Ändern, Löschen</a> |
+ </li> |
+ </ul> |
+ </li> |
+ |
+ <li> |
+ Beziehungen |
+ <ul> |
+ <li> |
+ <a href="">Hinzufügen</a> |
+ </li> |
+ <li> |
+ <a href="">Ändern, Löschen</a> |
+ </li> |
+ </ul> |
+ </li> |
+ |
+ <li> |
+ User-Settings |
+ <ul> |
+ <li> |
+ <a href="../Logout">Logout</a> |
+ </li> |
+ </ul> |
+ </li> |
+ |
+ </ul> |
+</div> |
/WebContent/user/nav.jsp |
---|
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+text/plain |
\ No newline at end of property |
Index: WebContent/user/index.jsp |
=================================================================== |
--- WebContent/user/index.jsp (nonexistent) |
+++ WebContent/user/index.jsp (revision 20) |
@@ -0,0 +1,21 @@ |
+<%@ page errorPage="../ErrorHandler.jsp" %> |
+<%@ include file="../html_head.jsp" %> |
+ |
+ <%-- Only serves as a container for the different site elements! |
+ Do not write any text directly into the container div! --%> |
+ <div id="page-container"> |
+ <div id="header"> |
+ <%@ include file="../header.jsp" %> |
+ </div> |
+ |
+ <div id="navbar"> |
+ <%@ include file="nav.jsp" %> |
+ </div> |
+ |
+ <div id="content"> |
+ <%@ include file="main.jsp" %> |
+ </div> |
+ </div> |
+ |
+</body> |
+</html> |
/WebContent/user/index.jsp |
---|
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+text/plain |
\ No newline at end of property |
Index: docs/mockup/begriff_erstellen.bmml |
=================================================================== |
--- docs/mockup/begriff_erstellen.bmml (revision 19) |
+++ docs/mockup/begriff_erstellen.bmml (revision 20) |
@@ -1,6 +1,6 @@ |
-<mockup version="1.0" skin="sketch" measuredW="1030" measuredH="570" mockupW="960" mockupH="540"> |
+<mockup version="1.0" skin="sketch" measuredW="1037" measuredH="565" mockupW="960" mockupH="540"> |
<controls> |
- <control controlID="5" controlTypeID="com.balsamiq.mockups::BrowserWindow" x="60" y="20" w="960" h="540" measuredW="450" measuredH="400" zOrder="0" locked="false" isInGroup="-1"> |
+ <control controlID="5" controlTypeID="com.balsamiq.mockups::BrowserWindow" x="67" y="15" w="960" h="540" measuredW="450" measuredH="400" zOrder="0" locked="true" isInGroup="-1"> |
<controlProperties> |
<text>Ontologie%0Ahttp%3A//ontologie.ffhs.ch/</text> |
<verticalScrollbar>false</verticalScrollbar> |
@@ -12,53 +12,73 @@ |
<text>Logged%20in%20as%20michael%20%28user%29</text> |
</controlProperties> |
</control> |
- <control controlID="16" controlTypeID="com.balsamiq.mockups::Link" x="75" y="169" w="-1" h="-1" measuredW="118" measuredH="25" zOrder="2" locked="true" isInGroup="-1"> |
+ <control controlID="21" controlTypeID="com.balsamiq.mockups::Label" x="353" y="124" w="-1" h="-1" measuredW="151" measuredH="29" zOrder="2" locked="false" isInGroup="-1"> |
<controlProperties> |
- <state>up</state> |
- <text>Begriffe%20erstellen</text> |
+ <size>16</size> |
+ <text>Begriff%20hinzuf%FCgen</text> |
</controlProperties> |
</control> |
- <control controlID="17" controlTypeID="com.balsamiq.mockups::Link" x="75" y="209" w="-1" h="-1" measuredW="106" measuredH="25" zOrder="3" locked="true" isInGroup="-1"> |
+ <control controlID="22" controlTypeID="com.balsamiq.mockups::Canvas" x="356" y="171" w="302" h="161" measuredW="100" measuredH="70" zOrder="3" locked="false" isInGroup="-1"/> |
+ <control controlID="23" controlTypeID="com.balsamiq.mockups::TextInput" x="488" y="189" w="118" h="-1" measuredW="79" measuredH="29" zOrder="4" locked="false" isInGroup="-1"> |
<controlProperties> |
- <text>Begriffe%20%E4ndern</text> |
+ <text/> |
</controlProperties> |
</control> |
- <control controlID="18" controlTypeID="com.balsamiq.mockups::Link" x="75" y="249" w="-1" h="-1" measuredW="140" measuredH="25" zOrder="4" locked="true" isInGroup="-1"> |
+ <control controlID="24" controlTypeID="com.balsamiq.mockups::Label" x="380" y="188" w="-1" h="-1" measuredW="39" measuredH="25" zOrder="5" locked="false" isInGroup="-1"> |
<controlProperties> |
- <text>Beziehungen%20erstellen</text> |
+ <text>Name</text> |
</controlProperties> |
</control> |
- <control controlID="19" controlTypeID="com.balsamiq.mockups::Link" x="75" y="296" w="-1" h="-1" measuredW="128" measuredH="25" zOrder="5" locked="true" isInGroup="-1"> |
+ <control controlID="25" controlTypeID="com.balsamiq.mockups::Button" x="488" y="281" w="-1" h="-1" measuredW="81" measuredH="28" zOrder="6" locked="false" isInGroup="-1"> |
<controlProperties> |
- <text>Beziehungen%20%E4ndern</text> |
+ <text>Erstellen</text> |
</controlProperties> |
</control> |
- <control controlID="20" controlTypeID="com.balsamiq.mockups::Label" x="75" y="124" w="-1" h="-1" measuredW="69" measuredH="25" zOrder="6" locked="true" isInGroup="-1"> |
+ <control controlID="26" controlTypeID="com.balsamiq.mockups::TextInput" x="488" y="233" w="118" h="-1" measuredW="79" measuredH="29" zOrder="7" locked="false" isInGroup="-1"> |
<controlProperties> |
- <text>Navigation</text> |
+ <text/> |
</controlProperties> |
</control> |
- <control controlID="21" controlTypeID="com.balsamiq.mockups::Label" x="316" y="120" w="-1" h="-1" measuredW="136" measuredH="29" zOrder="7" locked="false" isInGroup="-1"> |
+ <control controlID="27" controlTypeID="com.balsamiq.mockups::Label" x="380" y="232" w="-1" h="-1" measuredW="70" measuredH="25" zOrder="8" locked="false" isInGroup="-1"> |
<controlProperties> |
- <size>16</size> |
- <text>Begriff%20erstellen</text> |
+ <text>Kommentar</text> |
</controlProperties> |
</control> |
- <control controlID="22" controlTypeID="com.balsamiq.mockups::Canvas" x="319" y="167" w="302" h="161" measuredW="100" measuredH="70" zOrder="8" locked="false" isInGroup="-1"/> |
- <control controlID="23" controlTypeID="com.balsamiq.mockups::TextInput" x="452" y="209" w="-1" h="-1" measuredW="79" measuredH="29" zOrder="9" locked="false" isInGroup="-1"> |
+ <control controlID="29" controlTypeID="__group__" x="90" y="124" w="-1" h="-1" measuredW="140" measuredH="229" zOrder="9" locked="false" isInGroup="-1"> |
+ <groupChildrenDescriptors> |
+ <control controlID="0" controlTypeID="com.balsamiq.mockups::Link" x="0" y="80" w="-1" h="-1" measuredW="118" measuredH="25" zOrder="0" locked="false" isInGroup="29"> |
<controlProperties> |
- <text/> |
+ <state>up</state> |
+ <text>Begriffe%20erstellen</text> |
</controlProperties> |
</control> |
- <control controlID="24" controlTypeID="com.balsamiq.mockups::Label" x="378" y="208" w="-1" h="-1" measuredW="39" measuredH="25" zOrder="10" locked="false" isInGroup="-1"> |
+ <control controlID="1" controlTypeID="com.balsamiq.mockups::Link" x="0" y="120" w="-1" h="-1" measuredW="106" measuredH="25" zOrder="1" locked="false" isInGroup="29"> |
<controlProperties> |
- <text>Name</text> |
+ <text>Begriffe%20%E4ndern</text> |
</controlProperties> |
</control> |
- <control controlID="25" controlTypeID="com.balsamiq.mockups::Button" x="452" y="264" w="-1" h="-1" measuredW="81" measuredH="28" zOrder="11" locked="false" isInGroup="-1"> |
+ <control controlID="2" controlTypeID="com.balsamiq.mockups::Link" x="0" y="160" w="-1" h="-1" measuredW="140" measuredH="25" zOrder="2" locked="false" isInGroup="29"> |
<controlProperties> |
- <text>Erstellen</text> |
+ <text>Beziehungen%20erstellen</text> |
</controlProperties> |
</control> |
+ <control controlID="3" controlTypeID="com.balsamiq.mockups::Link" x="0" y="204" w="-1" h="-1" measuredW="131" measuredH="25" zOrder="3" locked="false" isInGroup="29"> |
+ <controlProperties> |
+ <text>Beziehungen%20l%F6schen</text> |
+ </controlProperties> |
+ </control> |
+ <control controlID="4" controlTypeID="com.balsamiq.mockups::Label" x="0" y="0" w="-1" h="-1" measuredW="69" measuredH="25" zOrder="4" locked="false" isInGroup="29"> |
+ <controlProperties> |
+ <text>Navigation</text> |
+ </controlProperties> |
+ </control> |
+ <control controlID="5" controlTypeID="com.balsamiq.mockups::Link" x="0" y="39" w="-1" h="-1" measuredW="119" measuredH="25" zOrder="5" locked="false" isInGroup="29"> |
+ <controlProperties> |
+ <state>up</state> |
+ <text>Ontologie%20ansehen</text> |
+ </controlProperties> |
+ </control> |
+ </groupChildrenDescriptors> |
+ </control> |
</controls> |
</mockup> |
\ No newline at end of file |
Index: docs |
=================================================================== |
--- docs (revision 19) |
+++ docs (revision 20) |
/docs |
---|
Property changes: |
Added: svn:ignore |
## -0,0 +1 ## |
+rdm first draft.png |
Index: . |
=================================================================== |
--- . (revision 19) |
+++ . (revision 20) |
/. |
---|
Property changes: |
Added: svn:ignore |
## -0,0 +1 ## |
+svn history.txt |