Bønne fejl (Unknown property 'adgangDK' on class 'class utilities.MenuAccess')
Hej EksperterJeg har en jsp-side(A) som når man åbner den kører en java-metode der gerne skulle sætte nogle property i en bønne. Som jsp-siden(A) gerne skulle kunne hente ved hjælp af get-metoder.
Tror fejlen har noget at gøre med hvordan jeg sætter bønnen og er nok meget amatør fejl, men er lang tid siden jeg har leget med bønner.
Jeg har valgt at benytte mig af PropertyUtils.setProperty til at sætte bønne-værdierne fra java.
Når jeg forsøger at åbne siden får jeg følgende fejl.
java.lang.NoSuchMethodException: Unknown property 'adgangDK' on class 'class utilities.MenuAccess'
at org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:2133)
at org.apache.commons.beanutils.PropertyUtils.setSimpleProperty(PropertyUtils.java:890)
at test.adgang.authorized(adgang.java:36)
at org.apache.jsp.test.runEVOA_jsp._jspService(org.apache.jsp.test.runEVOA_jsp:72)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
(...)
JSP-siden(a)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@page language="java" contentType="text/html; charset=ISO-8859-1"%>
<%@ page import="java.util.*, utilities.*, java.text.NumberFormat" %>
<jsp:useBean id="dataBean" scope="session" class="utilities.MenuAccess">
</jsp:useBean>
<%@page import="test.adgang"%>
<html>
<head>
<title>run</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<%
test.adgang.authorized("ANDERS");
System.out.println("DK " +dataBean.getDK());
System.out.println("NO " +dataBean.getNO());
System.out.println("SE " +dataBean.getSE());
%>
</body>
</html>
=======================================
JAVA
=======================================
package test;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.lang.reflect.InvocationTargetException;
import org.apache.commons.beanutils.PropertyUtils;
public class adgang {
private String userId;
public static void main(String arg[]) {
}
public static void authorized(String userId) {
Connection con = null;
CallableStatement cstmt = null;
ArrayList<String> countryAccess = new ArrayList<String>();
try {
con = getConnection();
cstmt = con.prepareCall("{call XXX(?)}");
cstmt.setString(1,userId);
ResultSet rs = cstmt.executeQuery();
while(rs.next()) {
try {
PropertyUtils.setProperty(u, "adgangDK", true);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
con.commit();
rs.close();
}
catch(Exception e) {
con = null;
e.printStackTrace();
}
System.out.println("SETTER BEAN");
}
}
============================
JAVA bønne
=============================
package utilities;
public class MenuAccess implements java.io.Serializable {
private static final long serialVersionUID = -8646942379008731464L;
private boolean adgangDK;
private boolean adgangSE;
private boolean adgangNO;
public MenuAccess() {
}
public boolean getDK() { return adgangDK; }
public void setDK(boolean adgangDK) { System.out.println("SET: " +adgangDK); this.adgangDK = adgangDK; }
public boolean getSE() { return adgangSE; }
public void setSE(boolean adgangSE) { this.adgangSE = adgangSE; }
public boolean getNO() { return adgangNO; }
public void setNO(boolean adgangNO) { this.adgangNO = adgangNO; }
}
