Witam,

Mam następujący problem. Uczę się JSF, chcę przechwycić wartość argumentu z adresu.

http://localhost:8080/PZ/faces/studentCard.xhtml?studentId=2

Chcę przechwyconą wartość wyświetlić na ekran.

<h:outputText value="#{studentCardBean.studentId}"></h:outputText>

Czy moglibyście popatrzeć na kod i powiedzieć co robię nie tak? nie mogę ruszyć dalej bo wydaje mi się że mam wszystko ok.

Zamiast wartości 2 wyświetla mi wartość 0.

Źródła:

Plik studentCard.xhtml

<!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"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">
	
	<f:metadata>
		<f:viewParam name="studentId" value="studentCardBean.studentId"/>
	</f:metadata>
	
	<head>
	  <title><ui:insert name="title">Strona główna</ui:insert></title>
	</head>

	<body>
		<ui:composition template="WEB-INF/template/layout.xhtml">
			<ui:define name="content">
	 			<div>
 						<h:outputText value="#{studentCardBean.studentId}"></h:outputText>
	        	</div>            
			</ui:define>
		</ui:composition>
	</body>
</html>

Kod StudentCardBean

package com.pz.beans.students;

public class StudentCardBean {

	private int studentId;
	private String name;
	
	public void setStudentId(int studentId) {
		this.studentId = studentId;
	}
	
	public int getStudentId() {
		return studentId;
	}
	
	public void setName(String name) {
		this.name = name;
	}
	
	public String getName() {
		return name;
	}
}

faces-config.xml

<?xml version="1.0" encoding="UTF-8"?>

<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
    version="2.0">
	<managed-bean>
		<managed-bean-name>loginBean</managed-bean-name>
		<managed-bean-class>com.pz.beans.login.LoginBean</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>
	<managed-bean>
		<managed-bean-name>tableData</managed-bean-name>
		<managed-bean-class>com.pz.tables.students.TableData</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>
	<managed-bean>
		<managed-bean-name>studentCardBean</managed-bean-name>
		<managed-bean-class>com.pz.beans.students.StudentCardBean</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>
	<navigation-rule>
		<display-name>login.xhtml</display-name>
		<from-view-id>/login.xhtml</from-view-id>
		<navigation-case>
			<from-outcome>login</from-outcome>
			<to-view-id>/index.xhtml</to-view-id>
			<redirect />
		</navigation-case>
	</navigation-rule>

</faces-config>