Skip to Content
author's profile photo Former Member
Former Member

Problem with TableView

I have a Problem with the tableview model in SAP EP 5 SP5.

When accessing the model i got the following error :

Cannot access bean property tableBean.model in page context at pagelet._sapportalsjsp_view.doContent(_sapportalsjsp_view.java:367)

Here is the code of the bean:

package Bean;

import java.io.Serializable;

import java.sql.*;

import java.util.Vector;

import com.sapportals.htmlb.table.DefaultTableViewModel;

import com.sapportals.htmlb.table.TableViewModel;

public class tablebean implements Serializable {

public Connection conn_bean;

public String Query_bean;

public ResultSet rst_bean;

public Statement stm_bean;

public class db_connect {

public ResultSet connect() {

Query_bean = "SELECT * FROM .Software";

try {

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

try {

conn_bean =

DriverManager.getConnection(

"jdbc:microsoft:sqlserver://192.168.31.220:1433;User=sa;Password=;DatabaseName=serviceportal");

} catch (SQLException e1) {

e1.printStackTrace();

}

try {

stm_bean = conn_bean.createStatement();

} catch (SQLException e2) {

e2.printStackTrace();

}

try {

rst_bean = stm_bean.executeQuery(Query_bean);

} catch (SQLException e3) {

e3.printStackTrace();

}

return rst_bean;

}

}

public DefaultTableViewModel model;

public DefaultTableViewModel createNewTable(DefaultTableViewModel model) {

Vector data = createData();

Vector colName = new Vector();

/* Define column names */

colName.addElement("Software ID");

colName.addElement("Software Typ");

model = new DefaultTableViewModel(data, colName);

return model;

}

public TableViewModel getModel(

)

{

return model;

}

public Vector createData() {

db_connect connect = new db_connect();

connect.connect();

Vector dataVec = new Vector();

Vector retVector = new Vector();

try {

while (rst_bean.next()) {

dataVec.addElement(rst_bean.getString("stw_id"));

dataVec.addElement(rst_bean.getString("stw_typ"));

}

} catch (SQLException e) {

e.printStackTrace();

}

retVector.addElement(dataVec);

return retVector;

}

}

Here is the code for setting the bean in the application context:

public TableView table;

public tablebean myBean = new tablebean();

IPortalComponentRequest request =

(IPortalComponentRequest) this.getRequest();

IPortalComponentContext myContext = request.getComponentContext();

IPortalComponentProfile myProfile = myContext.getProfile();

myProfile.putValue("tableBean", myBean);

Here is the code of the jsp:

<jsp:useBean id="tableBean" scope="application" class="Bean.tablebean" />

<hbj:tableView

id="myTableView1"

model="tableBean.model"

design="ALTERNATING"

headerVisible="true"

footerVisible="true"

fillUpEmptyRows="true"

navigationMode="BYLINE"

selectionMode="MULTISELECT"

headerText="TableView example 1"

onNavigate="myOnNavigate"

visibleFirstRow="1"

visibleRowCount="5"

rowCount="16"

width="500 px"

/>

I hope someone can help me...

Add comment
10|10000 characters needed characters exceeded

1 Answer

  • author's profile photo Former Member
    Former Member
    Posted on Dec 16, 2003 at 10:16 AM

    Hi, problem is, that the bean is not found by the JSP - in this case the JSP creates an empty bean and you would end up with this error. Check if you bean is set up, model is set up and that the filled bean is set by myProfile.putValue.

    Bye Sigi

    Add comment
    10|10000 characters needed characters exceeded