S
Schludi
Gast
Hallo,
ich habe mir ein Login auf der Basis von JSF aufgebaut (mit Hilfe des JSF Kickstart Tutorials von jsftutorials.net). Nach jeder Navigation sind allerdings die Bilder weg. Hab sie in einem verzeichnis
"Images" in WebContent, und die Styles in einem Verzeichnis "Styles". Da bei einem falschen Login mit einem return null keine Navigation stattfindet, befindet man sich wieder auf der Hauptseite - allerdings sind auch hier die images / styles dann weg. Beim ersten Laden der Hauptseite sind sie aber vorhanden (nur beim ersten redirect z.B. nachdem der Login fehlschlägt wieder auf die Hauptseite sind sie weg).
Muss man in der Struts-Config irgendwas festlegen damit die styles wieder da sind? Ich hab sie auf der Startseite so eingebunden:
Meine Faces-config.xml:
Hier die User-Bean für den Login:
ich habe mir ein Login auf der Basis von JSF aufgebaut (mit Hilfe des JSF Kickstart Tutorials von jsftutorials.net). Nach jeder Navigation sind allerdings die Bilder weg. Hab sie in einem verzeichnis
"Images" in WebContent, und die Styles in einem Verzeichnis "Styles". Da bei einem falschen Login mit einem return null keine Navigation stattfindet, befindet man sich wieder auf der Hauptseite - allerdings sind auch hier die images / styles dann weg. Beim ersten Laden der Hauptseite sind sie aber vorhanden (nur beim ersten redirect z.B. nachdem der Login fehlschlägt wieder auf die Hauptseite sind sie weg).
Muss man in der Struts-Config irgendwas festlegen damit die styles wieder da sind? Ich hab sie auf der Startseite so eingebunden:
<%@ taglib tagdir="/WEB-INF/tags" prefix="cust"%>
<html>
<head>
<title>Herzlichen Willkommen zur Containerliste</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" type="text/css" href="styles/style_bb.css">
<link rel="stylesheet" type="text/css" href="styles/style_bb_add.css">
<link rel="stylesheet" type="text/css" href="styles/layout.css">
<link rel="stylesheet" type="text/css" href="styles/table.css">
<link rel="stylesheet" type="text/css" href="styles/custom.css">
<link rel="stylesheet" type="text/css" href="styles/calendar.css">
</head>
<body style="background-image: url('images/header_dispoliste.gif'); background-repeat: no-repeat">
<cust:header/>
<div style="position:absolute; width:100%;">
<div style="float:left; margin-left:5px; margin-right:10px;">
<cust:login/>
</div>
<div style = "position: absolute; width: 550px; margin-left:170px; margin-right=10px; top:0;left:0;">
<cust:titlecontent/>
</div>
</div>
</body>
</html>
Meine Faces-config.xml:
Code:
<?xml version="1.0"?>
<!DOCTYPE faces-config PUBLIC
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
<navigation-rule>
<from-view-id>/pages/login.jsp</from-view-id>
<navigation-case>
<from-outcome>login</from-outcome>
<to-view-id>/pages/content.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>*</from-view-id>
<navigation-case>
<from-outcome>logout</from-outcome>
<to-view-id>/pages/login.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<managed-bean>
<managed-bean-name>userBean</managed-bean-name>
<managed-bean-class>containerliste.UserBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>
Hier die User-Bean für den Login:
Code:
package containerliste;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import javax.faces.application.FacesMessage;
import java.util.ResourceBundle;
public class UserBean {
String username = "";
String password = "";
boolean isAuthorized = false;
User user = null;
int randomNumber ; // random number generated by application
// constructor, generates random number
public UserBean ()
{
}
// setter for inputNumber
public void setUsername (String value){
this.username = value;
}
// getter for inputNumber
public String getUsername () {
return this.username;
}
// setter for inputNumber
public void setPassword (String value){
this.password = value;
}
// getter for inputNumber
public String getPassword() {
return this.password;
}
// this method simply invalidates the current session
public String logout () {
FacesContext context = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) context.getExternalContext().getSession(false);
session.invalidate();
return "logout";
}
public User getUser()
{
return user;
}
public String checkUser ()
{
user = User.findUser(username, password);
if ( user != null )
{
this.setAuthorized(true);
return "login";
}
else
{
this.setAuthorized(false);
FacesContext context = FacesContext.getCurrentInstance();
ResourceBundle bundle = ResourceBundle.getBundle("containerliste.messages", context.getViewRoot().getLocale());
String msg = "";
msg = bundle.getString("wrong");
context.addMessage (null, new FacesMessage(msg));
return null;
}
}
public boolean isAuthorized()
{
return isAuthorized;
}
private void setAuthorized(boolean isAuthorized)
{
this.isAuthorized = isAuthorized;
}
}