Skip to Content
0
Former Member
Nov 09, 2005 at 09:45 PM

pass the data back from the jsp page to the java code

19 Views

Hi,

I have written an iView that receives an event using EPCF and extracts data from the client data bag.

I need this iView to pass the data back from the jsp page to the java code.

I am trying to do this using a hidden input field, but I cannot get the code to work.

Here is the code on the jsp page.

<%@ taglib uri="tagLib" prefix="hbj" %>

<jsp:useBean id="SalesOrderBean" scope="application" class="com.sap.training.portal.SalesOrderBean" />

<hbj:content id="myContext" >

<hbj:page title="PageTitle">

<hbj:form id="myFormId">

<hbj:inputField id="Cust_No" type="string" maxlength="20" value="" jsObjectNeeded="true" >

<% Cust_No.setVisible(false);%>

</hbj:inputField>

<hbj:inputField id="Sales_Org" type="string" maxlength="20" value="" jsObjectNeeded="true" >

<% Sales_Org.setVisible(false);%>

</hbj:inputField>

<hbj:textView id="welcome">

<% welcome.setText("Hello, " + SalesOrderBean.getCust_No() + " from " + SalesOrderBean.getSales_Org()); %>

</hbj:textView>

</hbj:form>

</hbj:page>

</hbj:content>

<script>

function eventFired () {

var Cust_No = EPCM.loadClientData('urn:com.sap.training.portal','Cust_No');

var Sales_Org = EPCM.loadClientData('urn:com.sap.training.portal','Sales_Org');

var funcName = htmlb_formid + "_getHtmlbElementId";

func = window[funcName];

var ipField1 = eval(func("Cust_No"));

ipField1.setValue(Cust_No);

var ipField2 = eval(func("Sales_Org"));

ipField2.setValue(Sales_Org);

var form = document.all(htmlb_formid);

form.submit();

}

EPCM.subscribeEvent('urn:com.sap.training.portal',

'SalesOrder',

eventFired);

</script>

In my Java PAI event I have the following code.

public void doProcessAfterInput() throws PageException {

InputField myInputField1 = (InputField) getComponentByName("Cust_No");

if (myInputField1 != null) {

this.Cust_No = myInputField1.getValueAsDataType().toString();

}

InputField myInputField2 = (InputField) getComponentByName("Sales_Org");

if (myInputField2 != null) {

this.Sales_Org = myInputField2.getValueAsDataType().toString();

}

IPortalComponentRequest request = (IPortalComponentRequest) this.getRequest();

IPortalComponentContext myContext = request.getComponentContext();

SalesOrderBean myNameContainer = (SalesOrderBean) myContext.getValue("SalesOrderBean");

myNameContainer.setCust_No(Cust_No);

myNameContainer.setSales_Org(Sales_Org);

}

I always get null from "myNameContainer.getSales_Org".

Any ideas ?

Regrard, Arnold.