Pass html data to struts action

There is a user registration page where in a login-name is required. I have a "Check if loginame is available" link (Typical web-sites have such facility).
Now,for this scenario i am still not submitting the form and only need to pass the login-name text value to the appropriate (Struts) action class where further business logic is implemented and return a status whether its available or not.
How do i go about passing the value of the jsp page to Java.
Regards,
Gyan

ragh_dr wrote:
So, you have two separate Action classes for login and check login name? What you could do is call a javascript method on clicking the link (onclick="javascript:checkLoginName();"). In this method, get the value of the user entered login name and pass it to your check login Action either as a query string (document.forms[0].action="/CheckLoginName.do?loginId=userentered") and submit the form. You can get the value of loginId from the request object in your Action class. You could also set the target of the form as new or something document.forms[0].target="_new", so that the check results are shown in a new window if required.Why would you abuse JS for this and not just let the Login class delegate/call the CheckLogin class?
About that JS, although this is not a Javascript forum and I normally don't go in detail with JS here, but I would say that using document.forms[0] is a terribly bad practice. Why should your code expect that the form you're looking for is always the first form element of the document? Just use document.formname or document.getElementById() or if you're smart, the 'this' reference.

Similar Messages

  • Setting ViewObject Stored Procedure Where Clause Param from Struts Action

    I adapted/used Steve's example to get stored procedure to populate my ViewObject. However, I could not retrieve any rows after passing whereClause value from Struts action. The param in execureQueryForCollection returns null.
    What could be wrong. Thanks.
    Here's my code.
    ViewObjectImpl:
    package org.adb.sls.model;
    import java.math.BigDecimal;
    import java.sql.CallableStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Timestamp;
    import java.sql.Types;
    import oracle.jbo.JboException;
    import oracle.jbo.domain.Date;
    import oracle.jbo.domain.Number;
    import oracle.jbo.server.DBTransaction;
    import oracle.jbo.server.ViewObjectImpl;
    import oracle.jbo.server.ViewRowImpl;
    import oracle.jbo.server.ViewRowSetImpl;
    import oracle.jdbc.driver.OracleCallableStatement;
    import oracle.jdbc.driver.OracleTypes;
    // --- File generated by Oracle ADF Business Components Design Time.
    // --- Custom code may be added to this class.
    public class ViewApplicableLoanTypesImpl extends ViewObjectImpl
    * PLSQL block that will execute the REF_CURSOR
    private static final String SQL =
    "begin ? := sls_loan_types_pkg.get_applcbl_staff_lns_fn(?); end;";
    * PLSQL block that will count the REF_CURSOR returned rows
    private static final String COUNTSQL =
    "begin ? := sls_loan_types_pkg.get_count_applcbl_staff_lns_fn(?); end;";
    * This is the default constructor (do not remove)
    public ViewApplicableLoanTypesImpl()
    * Overridden framework method.
    * Wipe out all traces of a built-in query for this VO
    protected void create() {
    getViewDef().setQuery(null);
    getViewDef().setSelectClause(null);
    setQuery(null);
    * Overidden framework method
    protected void executeQueryForCollection(Object qc, Object[] params, int noUserParams)
    // input parameter is employee number
    String employeeNumber = null;
    if (params != null) {
    employeeNumber = (String) params[0];
    } else
    System.out.println("param is null");
    storeNewResultSet(qc,retrieveRefCursor(qc,employeeNumber));
    super.executeQueryForCollection(qc, params, noUserParams);
    protected ViewRowImpl createRowFromResultSet(Object qc, ResultSet rs)
    * We ignore the JDBC ResultSet passed by the framework (null anyway) and
    * use the resultset that we've stored in the query-collection-private
    * user data storage
    rs = getResultSet(qc);
    * Create a new row to populate
    ViewRowImpl r = createNewRowForCollection(qc);
    try {
    * Populate new row by attribute slot number for current row in Result Set
    populateAttributeForRow(r,0, nullOrNewNumber(rs.getBigDecimal(1)));
    populateAttributeForRow(r,1, nullOrNewNumber(rs.getBigDecimal(2)));
    populateAttributeForRow(r,2, rs.getString(3));
    populateAttributeForRow(r,3, nullOrNewNumber(rs.getBigDecimal(4)));
    populateAttributeForRow(r,4, rs.getString(5));
    catch (SQLException s) {
    throw new JboException(s);
    return r;
    protected boolean hasNextForCollection(Object qc)
    ResultSet rs = getResultSet(qc);
    boolean nextOne = false;
    try {
    nextOne = rs.next();
    * When were at the end of the result set, mark the query collection
    * as "FetchComplete".
    if (!nextOne) {
    setFetchCompleteForCollection(qc, true);
    * Close the result set, we're done with it
    rs.close();
    catch (SQLException s) {
    throw new JboException(s);
    return nextOne;
    protected void releaseUserDataForCollection(Object qc, Object rs)
    * Ignore the ResultSet passed in since we've created our own.
    * Fetch the ResultSet from the User-Data context instead
    ResultSet userDataRS = getResultSet(qc);
    if (userDataRS != null) {
    try {
    userDataRS.close();
    catch (SQLException s) {
    /* Ignore */
    super.releaseUserDataForCollection(qc, rs);
    public long getQueryHitCount(ViewRowSetImpl viewRowSet)
    Object[] params = viewRowSet.getParameters(true);
    String id = (String)params[0];
    CallableStatement st = null;
    try {
    st = getDBTransaction().createCallableStatement(COUNTSQL,DBTransaction.DEFAULT);
    * Register the first bind parameter as our return value of type CURSOR
    st.registerOutParameter(1,Types.NUMERIC);
    * Set the value of the 2nd bind variable to pass id as argument
    if (id == null) st.setNull(2,Types.VARCHAR);
    else st.setString(2,id);
    st.execute();
    return st.getLong(1);
    catch (SQLException s) {
    throw new JboException(s);
    finally {try {st.close();} catch (SQLException s) {}}
    * Return a JDBC ResultSet representing the REF CURSOR return
    * value from our stored package function.
    private ResultSet retrieveRefCursor(Object qc,String id) {
    CallableStatement st = null;
    try {
    st = getDBTransaction().createCallableStatement(SQL,DBTransaction.DEFAULT);
    * Register the first bind parameter as our return value of type CURSOR
    st.registerOutParameter(1,OracleTypes.CURSOR);
    * Set the value of the 2nd bind variable to pass id as argument
    if (id == null) st.setNull(2,Types.VARCHAR);
    else st.setString(2,id);
    st.execute();
    ResultSet rs = ((OracleCallableStatement)st).getCursor(1);
    * Make this result set use the fetch size from our View Object settings
    rs.setFetchSize(getFetchSize());
    return rs ;
    catch (SQLException s) {
    s.printStackTrace();
    throw new JboException(s);
    finally {try {st.close();} catch (SQLException s) {}}
    * Store a new result set in the query-collection-private user-data context
    private void storeNewResultSet(Object qc, ResultSet rs) {
    ResultSet existingRs = getResultSet(qc);
    // If this query collection is getting reused, close out any previous rowset
    if (existingRs != null) {
    try {existingRs.close();} catch (SQLException s) {}
    setUserDataForCollection(qc,rs);
    hasNextForCollection(qc); // Prime the pump with the first row.
    * Retrieve the result set wrapper from the query-collection user-data
    private ResultSet getResultSet(Object qc) {
    return (ResultSet)getUserDataForCollection(qc);
    * Return either null or a new oracle.jbo.domain.Date
    private static Date nullOrNewDate(Timestamp t) {
    return t != null ? new Date(t) : null;
    * Return either null or a new oracle.jbo.domain.Number
    private static Number nullOrNewNumber(BigDecimal b) {
    try {
    return b != null ? new Number(b) : null;
    catch (SQLException s) { }
    return null;
    Struts Action
    package org.adb.sls.view;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import oracle.jbo.ApplicationModule;
    import oracle.jbo.ViewObject;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import oracle.adf.model.binding.DCDataControl;
    import oracle.adf.model.bc4j.DCJboDataControl;
    import oracle.jbo.html.BC4JContext;
    public class IndexAction extends DefaultADFAction
    protected ActionForward performActionLogic(ActionMapping mapping,
    ActionForm form, HttpServletRequest request,
    HttpServletResponse response)
    throws Exception {
    try {    
    ApplicationModule am = getApplicationModule("SLSApplicableLoanTypesDataControl", request);
    if (am == null)
    System.out.println("am is null");
    ViewObject vo = am.findViewObject("ViewApplicableLoanTypes");
    vo.setWhereClauseParam(0,request.getSession().getAttribute("SSO_EMPLOYEE_NUMBER"));
    vo.executeQuery();
    } catch (Exception e)
    e.printStackTrace();
    return mapping.findForward("success");
    Struts Config
    <form-beans>
    <form-bean name="DataForm" type="oracle.adf.controller.struts.forms.BindingContainerActionForm"/>
    </form-beans>
    <action-mappings>
    <action path="/index" className="oracle.adf.controller.struts.actions.DataActionMapping" type="org.adb.sls.view.IndexAction" name="DataForm" unknown="false">
    <set-property property="modelReference" value="indexUIModel"/>
    <forward name="success" path="/home.do"/>
    </action>
    <action path="/home" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/index.uix" unknown="true">
    <set-property property="modelReference" value="indexUIModel"/>
    </action>
    </action-mappings>

    I just found the solution. I've overridden setWhereClause method.
    public void setWhereClauseParams(Object[] values)
    ViewObjectImpl vo = (ViewObjectImpl) super.getViewObject();
    vo.setWhereClauseParam(0,values[0]);
    }

  • Passing value from JSP to Action in Struts

    Hi,
    I am populating JSP page with rows retrieved from the database and
    represented as a List of Beans in forEach loop:
    <c:forEach var="list" items="${OperationsForm.OperationsList}">
    <c:choose>
    <c:when test="${list.isCompleted =='Y'}" >
    <td width="100">Completed</td>
    <td width="100"> </td>
    </c:when>
    <c:otherwise>
    <td width="100">Pending</td>
    <td width="100"><input type="image" onclick="
    rowId=value; form.action='action.do?command=notify'"
    value="${list.OperationId}" />
    </td>
    </c:otherwise>
    </c:choose>
    </tr>
    </c:forEach>
    Have hidden field: html:hidden property="rowId" value="-1"/>
    User is clicking the button corresponding to one of the rows
    and I need to pass the value of that rowId to the Action class, so it does
    something in the database [action completed]
    Now how do I pass it , is that the right way of doing it with calling
    request.getSession().getAttribute(rowId) in the Action class ?
    As of now I am getting Javascript error "Object doesn't support this
    property or method", complaining about rowId=value;
    Using Struts 1.3
    Please help !
    TIA,
    Oleg.

    So what you are saying is that I should add rowId here:
    <input type="image" onclick="form.action='action.do?command=notify&rowId='
    ${list.OperationId}"/> , correct ?
    I am not sure that it will work, especially with Struts tag.
    I will probably try something like:
    <html:submit onclick="form.action='action.do?command=notify'" value="${list.OperationId}">
    I am relatively new to Struts, so now sure what will work or not and how to do it better. How do I catch the submitted value in the Action in either of these 2 cases, via action.getSession().getProperty("rowId") /
    action.getSession().getProperty("submit") ?
    I would probably do it as a URL rather than changing the action of the form.I will have to create a new action anyway to process that row [which is sending user e-mail regarding that row data/event].
    Is the id the only thing you have to pass in?
    Or do you need other values from the screen?Selected rowId is probably the only thing I care about, can access values from the Form in Action.
    Thank you,
    Oleg.

  • In Web Logic Server Due to HTML file tag the action of struts is not called

    Hi All
    I have a problem as under:-
    There is a HTML page which contains several fields including a file input tag of HTML and i write enctype = "multipart/form-data" in the form tag
    I am calling a struts Action from this form, then it is not reaching to that action of struts.
    If I remove this file tag and enctype = "multipart/form-data" then it reaches to the struts action.
    I am facing this problem in Weblogic server 8.1 but i can easily deploy this same code on Tomcat 5.0
    Please help me out from this problem..
    Thanks...
    Nitin Saxena

    My installation has a DefaultWebApp directory under mydomain/applications,
              try moving everything down there. (I'm on 6.1 but I think 6.0 is the same)
              Eliot Stock
              eliot [ at ] carbonfive [ dot ] com
              http://carbonfive.com
              "Ram" <[email protected]> wrote in message
              news:3bc71641$[email protected]..
              >
              > Hi,
              >
              > I am trying to deploy a simple servlet in WebLogic Server.
              > I have done the following steps.
              >
              > 1) Compiled the MyWorld.Java Servlet Successfully in c:test\ Directory..
              >
              > 2) Created WEB-INF/Classes Directory in the home Directory of
              WebApplication Directory..
              > C:\bea\wlserver6.0\config\mydomain\applications\
              > 3) Copied the Class file into the WebApplication Directory i.e
              >
              > C:\bea\wlserver6.0\config\mydomain\applications\WEB-INF/Classes
              >
              > 4) Executed in the Browser using following URL:
              > http://127.0.0.1:7001/MyWorld
              >
              > But, I am getting this error:
              >
              > Error 404--Not Found
              >
              > Please let me know if the above procedure is wrong, then what are the
              exact steps
              > involved in Deploying a servlet in WebLogic Server.
              >
              > Thanks,
              > Ram.
              >
              

  • Get HTML source from servlet or strut action

    Hi, need ur help
    I would like to get the HTML source code after calling a URL, for example,
    Suppose a servlet will return a page hello.html, i would like to grap this HTML page source code in my servlet or strut action.
    How can i achieve this?
    Thanks

    This question does not make sense, because the Servlet is the thing that generates the HTML in the first place.
    If you want to view the HTML source of a given web page. Go to 'View'->'Source' in Internet Explorer.

  • How to load data into html:select using Struts ?

    How to load data into <html:select> using Struts ?
    I can not load an array or collection (static or dynamic data) into drop down list control by <html:select /> Struts.
    please use:
    <html:select >
    <html:options />
    </html:select >
    Please help me. please detail it. thanks a lot.
    Message was edited by:
    tranminhman

    In order to load a collection or array of data you can use <html:select> with <html: options collection="" name=""/>
    here collection attribute refers to the Arraylist or Array of data and name is the name of the Form bean.
    Hope this helps...
    Chaitanya V

  • Call struts action from javascript?

    Hi all
    I'm having problem already discussed here quite a lot, but I have idea to solve it different way. And need to know is it possible or I'm doing mission impossible here :(
    I have JSP with 2 drop down lilsts, where the second is populated according to selected value from first - that's basically my problem.
    Is it possible to somehow only call my struts action which will return all needed values using javascript and onchange event handler?
    I dont have any experience with javascript, and I'm trying to avoid it as much as possible at the moment.
    Thanks in advance

    well as far your requirement is concern if at all you are planning to implement AJAX try to use the below link which might be of some help...
    http://www.it-eye.nl/weblog/2005/12/13/ajax-in-struts-implementing-dependend-select-boxes/
    However,I somehow feel there are few loopholes in the author's approach...
    i advice to use XmlHttpRequest.reponseXML property there.
    However, i've mentioned a sample code snippet for you reference.
    XML Response Pattern :
    ======================
    <? xml version="1.1" ?>
    <dropdown>
    <option>
    <val>CUSTOMIZED_VALUE</val>
    <text>CUSTOMIZED_VALUE</text>
    </option>
    </dropdown>Sample.jsp:
    ===========
    <%@page language="java" %>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Automatic Drop-Down Updation</title>
         <script language="javascript">
          // Global Variable for XmlHttp Request Object  
          var xmlhttp
          // Timer Variables
          var c = 0
          var t
           /* A function which calls a servlet  named AjaxServlet to get XmlData using XmlHttpObject */    
            function refreshCombo(txt){
                xmlhttp = null
                // code for initializing XmlHttpRequest Object On Browsers like  Mozilla, etc.
                if (window.XMLHttpRequest){
                     xmlhttp = new XMLHttpRequest()
                // code for initializing XmlHttpRequest Object On Browsers like IE
               else if (window.ActiveXObject) {
                   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")
               if (xmlhttp != null){
                  // Setting the Action url to get XmlData
                   url = "dropdown.do?count="+txt;
                   // Course of Action That Should be Made if their is a change in XmlHttpRequest Object ReadyState NOTE : it is 4 when it has got request from CGI
                   xmlhttp.onreadystatechange = getResponseAction;
                   // Open the Request by passing Type of Request & CGI URL
                   xmlhttp.open("GET",url,true);
                   // Sending URL Encoded Data
                   xmlhttp.send(null);
               else{
                 // Only Broswers like IE 5.0,Mozilla & all other browser which support XML data Supports AJAX Technology
                 // In the Below case it looks as if the browser is not compatiable
                  alert("Your browser does not support XMLHTTP.")
          /* Used for verifing right ReadyState & Status of XmlHttpRequest Object returns true if it is verified */
          function verifyReadyState(obj){
             // As Said above if XmlHttp.ReadyState == 4 then the Page Has got Response from WebServer
              if(obj.readyState == 4){
               // Similarly if XmlHttp.status == 200 it means that we have got a Valid response from the WebServer
                if(obj.status == 200){               
                    return true
                 else{
                    alert("Problem retrieving XML data")
          /* Action that has to take place after getting reponse */
          function getResponseAction(){
              // Verifying State & Status
              if(verifyReadyState(xmlhttp) == true){
                  // Building a DOM parser from Response Object
                  var response = xmlhttp.responseXML.documentElement
                  // Deleting all the Present Elements in the Drop-Down Box
                  drRemove()      
                  // Checking for the Root Node Tag
                  var x = response.getElementsByTagName("option")
                  var val
                  var tex
                  var optn
                  for(var i = 0;i < x.length; i++){
                     optn = document.createElement("OPTION")
                     var er
                     // Checking for the tag which holds the value of the Drop-Down combo element
                     val = x.getElementsByTagName("val")
    try{
    // Assigning the value to a Drop-Down Set Element
    optn.value = val[0].firstChild.data
    } catch(er){
    // Checking for the tag which holds the Text of the Drop-Down combo element
    tex = x[i].getElementsByTagName("text")
    try{
    // Assigning the Text to a Drop-Down Set Element
    optn.text = tex[0].firstChild.data
    } catch(er){
    // Adding the Set Element to the Drop-Down
    document.SampleForm.SampleCombo.options.add(optn)
    /* Function removes all the elements in the Drop-Down */
    function drRemove(){
    var x = document.SampleForm.SampleCombo
    for(var i = document.SampleForm.SampleCombo.length - 1 ; i >= 0 ; i--){                     
    x.remove(i)
    </script>
    </head>
    <body onload="syncCount()">
    <pre> <h1>Refresh Drop-Down <div id='txt'> </div> </h1></pre>
    <form name="SampleForm">
    <!-- Drop Down which has country list -->
    <select name="x" onchange="refreshCombo(this.value)">
                   <option value="1">United States</option>
                   <option value="2">United Kingdom</option>
                   <option value="3">United Arab Emriates</option>
    </select>
    <!-- Drop Down which is dependent on Country Drop down get list of states -->
    <select name="SampleCombo">
    <option value="-1">Pick One</option>
    </select>
    </form>
    </body>
    </html>
    struts-config.xml:
    ==================
    <action-mappings>
    <action path="/dropdown" type="com.controlleraction.AjaxActionClass">
    <forward name="error" path="/error.jsp"/>
    </action>
    </action-mappings>AjaxActionClass.java:
    =====================
    package com.controlleraction;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    public class AjaxActionClass extends DispatchAction {
      public ActionForward execute( ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) throws Exception {
        String req = new String("");
        try{
           req = request.getParameter("count");
        } catch(Exception exp){
       if(!req.equals("")){
           response.setContentType("text/xml");        
           response.setHeader("Pragma","no-cache");
           response.setHeader("Cache-Control","no-cache,post-check=0,pre-check=0");
           PrintWriter out = response.getWriter();
           /*a sample bean where we trying to call a service from Model*/
           com.Biz.XmlBean xml = new XmlBean();
           String buffer = xml.getXmlData(req);
           if(xml.close() == true && buffer.equals("") == false)
             out.write(buffer);     
           return(null);
      } else {
         return new ActionForward("error");
    }XmlBean.java:
    =============
    * XmlBean.java
    import java.sql.*;
    import java.util.*;
    import java.io.*;
    * @author RaHuL
    public class XmlBean {
        private Connection con = null;
        private PreparedStatement pstmt = null;
        private ResultSet rs = null;
        // Setting CLASSURL path to TYPE I Driver
        private String CLASSURL = "sun.jdbc.odbc.JdbcOdbcDriver";
        /* Specifing CONNECTION PATH to a DSN named TestDsn
         * Please Make Sure you create a DSN Named TestDsn to your database which holds EMP table
        private String CONNECTIONURL = "jdbc:odbc:TestDsn";
        boolean IS_ESTABLISHED = false;
        /** Creates a new instance of XmlBean and also establishes DB Connections */
        public XmlBean() {
            try{
                Class.forName(CLASSURL);
                con = DriverManager.getConnection(CONNECTIONURL,"admin","");
                IS_ESTABLISHED = true;
            } catch(SQLException sqe){
                sqe.printStackTrace();
            } catch(Exception exp){
                exp.printStackTrace();
        /* Generates XmlData For the Business Logic Specified */
        public String getXmlData(String req){
            String XmlBuffer = new String("");
            if(IS_ESTABLISHED == true){
                try{
                    pstmt = con.prepareStatement("SELECT stateid,statename FROM STATE_TABLE where countryid = ?");
                    pstmt.setString(1,req);
                    rs = pstmt.executeQuery();
                    if(rs != null){
                        XmlBuffer = XmlBuffer + "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";
                        XmlBuffer = XmlBuffer + "<!--  Edited by Rahul Sharma -->";
                        // Root Node
                        XmlBuffer = XmlBuffer + "<dropdown>";
                        while(rs.next()){
                            String value = rs.getString(1);
                            String text = rs.getString(2);
                            // Sub-root Node
                            XmlBuffer = XmlBuffer + "<option>";
                            // node which holds value of drop-down combo
                            XmlBuffer = XmlBuffer + "<val>"+value+"</val>";
                            // node which holds text for drop-down combo
                            XmlBuffer = XmlBuffer + "<text>"+text+"</text>";
                            XmlBuffer = XmlBuffer + "</option>";
                        XmlBuffer = XmlBuffer + "</dropdown>";
                }catch(SQLException sqe){
                    sqe.printStackTrace();
                } catch(Exception exp){
                    exp.printStackTrace();
            return(XmlBuffer);
        /* Closes the DB Connection Conmpletely */
        public  boolean close(){
            if(IS_ESTABLISHED == true){
                try{
                    pstmt.close();
                    con.close();
                    return(true);
                } catch(SQLException sqe){
                    sqe.printStackTrace();
                } catch(Exception exp){
                    exp.printStackTrace();
            return(false);
    NOTE: I understand i'm not completely coded things as per proper coding standards.please execuse me for that as this example was just given to enable user to learn how XmlHttpRquest,reponseXML
    can be used for better purposes instead of devising manual parsing.
    where i've used XmlHttpResponse pattern to be in XML. you may make use of other practices like JSON & so on depending on your requirement..
    and and if you are more instrested in integrating Struts with AJAX using few frameworks & customized tag based support please go though the below link.
    http://struts.sourceforge.net/ajaxtags/index.html
    Hope that might help :)
    REGARDS,
    RaHuL

  • How to call a struts action from a JSF page

    I am working on a small POC that has to do with struts-faces. I need to know how to call a struts ".do" action from a JSF page..
    Sameer Jaffer

    is it not possible to call a action from the faces submit button and/or the navigation?
    This a simple POC using struts-faces exmaples.
    Here is my struts-config and faces-config file.
    <struts-config>
    <data-sources/>
    <form-beans>
      <form-bean name="GetNameForm" type="demo.GetNameForm"/>
    </form-beans>
    <global-exceptions/>
    <global-forwards>
      <forward name="getName" path="/pages/inputname.jsp"/>
    </global-forwards>
    <action-mappings>
      <action name="GetNameForm" path="/greeting" scope="request" type="demo.GreetingAction">
       <forward name="sayhello" path="/pages/greeting.jsp"/>
      </action>
    </action-mappings>
    <controller>
        <set-property property="inputForward" value="true"/>
        <set-property property="processorClass"
                value="org.apache.struts.faces.application.FacesRequestProcessor"/>
    </controller>
    </struts-config>faces-config
    <faces-config>
    <managed-bean>
      <managed-bean-name>calculate</managed-bean-name>
      <managed-bean-class>com.jsftest.Calculate</managed-bean-class>
      <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    <managed-bean>
      <managed-bean-name>GetNameForm</managed-bean-name>
      <managed-bean-class>demo.GetNameForm</managed-bean-class>
      <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    <navigation-rule>
      <from-view-id>/calculate.jsp</from-view-id>
      <navigation-case>
       <from-outcome>success</from-outcome>
       <to-view-id>/success.jsp</to-view-id>
      </navigation-case>
      <navigation-case>
       <from-outcome>failure</from-outcome>
       <to-view-id>/failure.jsp</to-view-id>
      </navigation-case>
    </navigation-rule>
    <navigation-rule>
      <from-view-id>/inputNameJSF.jsp</from-view-id>
      <navigation-case>
       <to-view-id>/pages/greeting.jsp</to-view-id>
      </navigation-case>
    </navigation-rule>
    </faces-config>in my inputNameJSF.jsp (faces page)
    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
    <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
    <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
    <%@ taglib prefix="s" uri="http://struts.apache.org/tags-faces" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Say Hello!!</title>
    </head>
    <body>
    Input Name
    <f:view>
         <h:form >
              <h:inputText value="#{GetNameForm.name}" id = "name" />
              <br>
              <h:commandButton id="submit"  action="/greeting.do" value="   Say Hello!   " />
         </h:form>
    </f:view>
    </body>
    </html>I want to be able to call the struts action invoking the Action method in the that returns the name
    package demo;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    public class GreetingAction extends org.apache.struts.action.Action {
        // Global Forwards
        public static final String GLOBAL_FORWARD_getName = "getName";
        // Local Forwards
        private static final String FORWARD_sayhello = "sayhello";
        public GreetingAction() {
        public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
            String name = ((demo.GetNameForm)form).getName();
            String greeting = "Hello, "+name+"!";
            request.setAttribute("greeting", greeting);
            return mapping.findForward(FORWARD_sayhello);
    }Edited by: sijaffer on Aug 11, 2009 12:03 PM

  • Problem for Struts action to insert multiple records

    I am writting a code for Struts action which inserting a single record to table A and multiple records to table B .The architecture that I applied is Struts+Spring+iBatis.The multiple records are come from a 10-rows table in the design.The name of each column element is same.The field name other than these are just single-row field.
    <tr>
    <td><input name="date" type="text" size="12" /></td>
    <td><input name="billno" type="text" size="8" /></td>
    <td><input name="desc" type="text" size="11" /></td>
    <td><input name="purpose" type="text" size="20" /></td>
    <td><input name="proName" type="text" size="6" /></td>
    <td><input name="trainingCost" type="text" size="5" /></td>
    <td><input name="travelCost" type="text" size="7" /></td>
    <td><input name="entCost"  type="text" size="5" /></td>
    <td><input name="miscCost" type="text" size="5" /></td>
    </tr> I am using three DTO objects to hold the data.claimArray is the ClaimDTO array that hold the multiple record insert to table B.claimdto is the object that hold the single field record to table A.claim_dtldto is the object that hold the single field record to table B.
    PK of table A and table B are claimNo and claimDtlNo respectively.claimNo is also FK of table B. HTMLUtil is just an API that I used it for type conversion.There will have two insert statements in iBatis xml, insertClaim & insertClaimDtl to insert data into table A and table B respectively.I not sure what went wrong in the code,the data is not inserted into db.Thank advanced for you guys help..
    This is the codes in Action file:
    public class InsertClaimAction extends SpringAction {
       public ActionForward execute(ActionMapping mapping,
                                     ActionForm form,
                                     HttpServletRequest request,
                                     HttpServletResponse response) throws Exception {
        // string arrays that store multiple values
        String [] date = new String[10];
        String [] billno = new String[10];
        String [] description = new String[10];
        String [] purpose = new String[10];
        String [] proName = new String[10];
        String [] trainingCost = new String[10];
        String [] travelCost = new String[10];
        String [] entCost = new String[10];
        String [] miscCost = new String[10];
        String staffName = request.getParameter("name");
        String claimMy = request.getParameter("monthyear");
        String department = request.getParameter("department");
        String designation = request.getParameter("designation");
        Double excrate =  HTMLUtil.str2double(request.getParameter("excrate"),0.0);
        Double grandTotal = HTMLUtil.str2double(request.getParameter("grandTotal"),0.0);
        Double totalRM = HTMLUtil.str2double(request.getParameter("totalRM"),0.0);
        Double totalFC =    HTMLUtil.str2double(request.getParameter("totalFC"),0.0);
        String fcName = request.getParameter("fcAbbr");
        if(request.getParameter("date") != null)
            date = request.getParameterValues("date");
        if(request.getParameter("billno") != null)
            billno = request.getParameterValues("billno");
        if(request.getParameter("description") != null)
            description = request.getParameterValues("description");
        if(request.getParameter("purpose") != null)
            purpose = request.getParameterValues("purpose");
        if(request.getParameter("proName") != null)
            proName = request.getParameterValues("proName");
        if(request.getParameter("trainingCost") != null)
            trainingCost = request.getParameterValues("trainingCost");
        if(request.getParameter("travelCost") != null)
            travelCost = request.getParameterValues("travelCost");
        if(request.getParameter("entCost") != null)
            entCost = request.getParameterValues("entCost");
        if(request.getParameter("miscCost") != null)
            miscCost = request.getParameterValues("miscCost");
          //initialize dto
        ClaimDTO claimdto = new ClaimDTO();
        ClaimDTO claim_dtldto = new ClaimDTO();
        ClaimDTO[] claimArray = new ClaimDTO[10];
        claimdto.setClaimNo(claimNo);
        claimdto.setStaffName(staffName);
        claimdto.setClaimMy(claimMy);
        claimdto.setDepartment(department);
        claimdto.setDesignation(designation);
        claimdto.setExcrate(excrate);
        claimdto.setGrandTotal(grandTotal);
        claim_dtldto.setClaimDtlNo(claimDtlNo);
        claim_dtldto.setClaimNo(claimNo);
        claim_dtldto.setTotalRM(totalRM);
        claim_dtldto.setTotalFC(totalFC);
        claim_dtldto.setFcName(fcName);
        for(int i = 0;i < claimArray.length;i++) {
            if(claimArray[i] != null) {
                claimArray.setDate(date[i]);
    claimArray[i].setBillno(billno[i]);
    claimArray[i].setDescription(description[i]);
    claimArray[i].setPurpose(purpose[i]);
    claimArray[i].setProName(proName[i]);
    claimArray[i].setTrainingCost(Double.parseDouble(trainingCost[i]));
    claimArray[i].setTravelCost(Double.parseDouble(travelCost[i]));
    claimArray[i].setEntCost(Double.parseDouble(entCost[i]));
    claimArray[i].setMiscCost(Double.parseDouble(miscCost[i]));
    //service
    ClaimService springservice = (ClaimService)getBean("ClaimService");
    springservice.insertClaim(claimdto);
    springservice.insertClaimDtl(claim_dtldto,claimArray);
    return mapping.findForward("success");

    Two things; you need to pass #number# as a form field and you
    need to pull the correct record out.
    Use this:
    <cfloop list="#form.fieldnames#" index="fieldName">
    <CFSET record = Evaluate("form.record_#number#")>
    </cfloop>
    Here's some example code:

  • Passing from data from one page to another

    Hi All, i'm currently doing a CSV file upload into a database
    application, and I'm wondering if it is possible to pass the data
    from the file field to another php file which executes the command
    of inserting the data of the csv file into the database? Thanks!!
    Wanqi

    You have this in test.php -
    $target_path = $_GET['uploadfile'];
    That implies that the page calling test.php is passing
    'uploadfile' as a URL
    variable. But it isn't.
    <form id="form1" name="form1"
    enctype="multipart/form-data" method="post"
    action="test.php">
    Why wouldn't $target_path be the same as $uploadfile?
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    ==================
    "taywanqi" <[email protected]> wrote in
    message
    news:[email protected]...
    > Attached below is the code i used for my application:
    >
    > form.php
    >
    >
    >
    >
    >
    >
    >
    > <?php
    > session_start();
    > ?>
    > <!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">
    > <head>
    > <meta http-equiv="Content-Type" content="text/html;
    charset=utf-8" />
    > <title>Untitled Document</title>
    > <style type="text/css">
    > <!--
    > .style13 { color: #FFFFFF;
    > font-family: Georgia, "Times New Roman", Times, serif;
    > font-size: 14px;
    > }
    > -->
    > </style>
    > </head>
    >
    > <body>
    > <form id="form1" name="form1"
    enctype="multipart/form-data" method="post"
    > action="test.php">
    > <p align="center">
    > <input type="file" name="fileupload" id="fileupload"
    />
    > <input type="hidden" name="csvfile" id="csvfile"/>
    >
    > </p>
    > <p align="center">
    > <input type="submit" name="upload" id="upload"
    value="Submit" />
    > </p>
    > </form>
    > </body>
    > </html>
    >
    >
    > Test.php
    >
    > <?php
    > session_start();
    > echo $name;
    > ob_start();
    > ?>
    >
    > <?php require_once('connection.php'); ?>
    >
    > <?php
    >
    > //UPLOADING FILE
    > if(isset($_POST['upload']))
    > {
    >
    > $uploaddir = 'uploads';
    >
    > $uploadfile = $uploaddir .
    basename($_FILES['fileupload']['name']);
    >
    > $target_path = $_GET['uploadfile'];
    >
    > echo $target_path;
    >
    > //$target_path = ini_get('$uploadfile');
    >
    > echo $file;
    >
    > echo '<pre>';
    > if
    (move_uploaded_file($_FILES['fileupload']['tmp_name'],
    $uploadfile)) {
    >
    > echo "File is valid, and was successfully uploaded.\n";
    >
    > } else {
    > echo "Possible file upload attack!\n";
    > }
    >
    > echo 'Here is some more debugging info:';
    > print_r($_FILES);
    >
    > print "</pre>";
    > }
    >
    >
    > $fcontents = $_SESSION[csvfile];
    >
    > for($i=0; $i<sizeof($fcontents); $i++) {
    >
    > $line = trim($fcontents[$i]);
    > $arr = explode("\t", $line);
    >
    > echo $arr."<br>\n";
    >
    >
    > }
    >
    > //ATTRIBUTES
    > //$fieldseparator = ',';
    > //$lineseparator = '\n';
    >
    > //READING OF FILE
    > $csvfile = $uploaddir .
    basename($_FILES['fileupload']['name']);
    >
    > //TRUNCATE THE FILE BEFORE INSERTING IT INTO THE
    DATABASE
    > mysql_select_db($database, $test);
    > mysql_query("TRUNCATE TABLE timetable") or die("MySQL
    Error: " .
    > mysql_error()); //Delete the existing rows
    >
    > //IMPORT CSV INTO DATABASE
    > $lines = 0;
    > $queries = "";
    > $linearray = array();
    > $fcontents = file($csvfile);
    >
    > for($i=0; $i<sizeof($fcontents); $i++) {
    >
    > $lines++;
    >
    > $line = trim($fcontents[$i]);
    >
    > $linearray = explode(',',$line);
    >
    > $linemysql = implode("','",$linearray); // convert the
    array to a string
    >
    > echo "$linemysql". "\n";
    >
    > //$query = "INSERT INTO timetable
    values('$linemysql')";//Insert query to
    > insert values into the database
    > $query = 'LOAD DATA INFILE "$target_path" REPLACE
    > INTO TABLE timetable
    > FIELDS TERMINATED BY ","
    > OPTIONALLY ENCLOSED BY """"
    > LINES TERMINATED BY "\r\n"';
    >
    > mysql_query($query, $test) or die('SQL
    ERROR:'.mysql_error()); //Insert
    > in
    > the new values into the database
    >
    > }
    >
    > ?>
    >
    > </head>
    > <body>
    > </body>
    > </html>
    > <?php ob_flush(); ?>
    >

  • Passing 2 date parameters in report

    I have to create a report in such a way that ...i have to pass 2 date parameters to get the report..
    For example..
    I get report parameter pagein reports and then I enter the parameter
    Parameter1: 27-MAY-10
    Parameter2: 30_JUN-10
    and then i click RUN REPORT
    can any1 help me out how to pass this parameter in report... i am stuck at this point
    NOTE: I want to use the parameter form feature in report builder....

    @ Sarah
    what you do is to call a refort from a form. i think it is not what Suhail want.
    @ Suhail
    if i understand, you want to pass the parameters from the parameterform your report to the report.
    i think you must create a parameterform and save it als html like this:
    To create a simple Parameter Form in HTML:
    1. In a text editor or HTML editor, create an HTML page that contains a form. The
    form should contain a list of values, a field, and a button. The code for this form
    can look something like the following:
    <form name="form1" method="post" action="*NAME_form.jsp*">
    <h2>Parameter Form</h2>
    <input id="connect" type="hidden" name="userid" value="*hr/hr@db-connect*">
    <input type="hidden" name="destype" value="*cache*">
    <input type="hidden" name="desformat" value="*html*">
    <br> Date_beginn: <input type="text" name="Date Beginn" value="">
    <br> Date_end: <input type="text" name="Date end" value="">
    <input type="submit" name="Submit" value="Run Report">
    </form>
    you can save this code als .html.
    Now you can open the code in the report builder and save it als .jsp.
    you can yet start with the copilation of the report.
    i hope this code will help you.

  • Java.util.HashMap cannot be cast to org.apache.struts.action.ActionForm

    Hi!
    anybody could help me?
    i am getting java.util.HashMap cannot be cast to org.apache.struts.action.ActionForm error when I run my jsp...
    heres my code :
    CommentAction.java
    package com.provintl.rmis.actions;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.Map;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import javax.sql.DataSource;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import com.provintl.rmis.forms.CommentForm;
    public class CommentAction extends Action {
         Statement stmt = null;
         Connection con = null;
         javax.sql.DataSource dataSource;
         PreparedStatement ps = null;
         ResultSet rs=null;
         byte updFlg = 0;
         Map commentlist = new HashMap();
         /* (non-Javadoc)
         * @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
         @Override
         public ActionForward execute(ActionMapping mapping, ActionForm form,
                   HttpServletRequest request, HttpServletResponse response)
         throws Exception {
              CommentForm commentForm = new CommentForm();
              Date date = commentForm.getDaterecord();
              String comment = commentForm.getComment();
              //TODO : temporary 1 == rose
              int userID =1;
              int appID =1;
              String SelectQry = "SELECT "+
                                       "APPLICANT_TBL.CHFNAME, "+
                                       "APPLICANT_TBL.CHLNAME, "+
                                       "APPLICANT_TBL.INTAPPID, "+
                                       "USERHST_TBL.CHCOMMENT, "+
                                       "USERHST_TBL.DTDATECREATED, "+
                                       " USERHST_TBL.INTHSTID "+
                                       "FROM "+
                                       "APPLICANT_TBL "+
                                       "INNER JOIN USERHST_TBL ON (APPLICANT_TBL.INTAPPID = USERHST_TBL.INTAPPID) " +
                                       "WHERE APPLICANT_TBL.CHFNAME ='"+request.getParameter("first")+"' " +
                                                 "AND APPLICANT_TBL.CHLNAME ='"+request.getParameter("last")+"'";
              try {
                   dataSource = (DataSource)getDataSource(request, "RMIS");
                   con = dataSource.getConnection();
                   con.setAutoCommit(false);
                   stmt = con.createStatement();
                   System.out.println("database connected");
                   rs = stmt.executeQuery(SelectQry);
                   System.out.println("database connected");
                   int ctr = 1;
                   while(rs.next()){
                        commentlist.put(ctr,new CommentForm(rs.getString("CHFNAME"),rs.getDate("DTDATECREATED")));
                        ctr++;
                   if(updFlg !=0){
                        String insQry = "INSERT INTO RECRUIT.USERHST_TBL (CHCOMMENT, INTUSERID, INTAPPID)" +
                        "VALUES ('"+comment+"',"+userID+","+appID+")";
                        stmt.executeUpdate(insQry);
                        con.commit();
                        updFlg = 0;
                   HttpSession session = request.getSession();
                   session.setAttribute("commentlist", commentlist);
                   //con.setAutoCommit(true);
              } catch (SQLException se) {
                   System.out.println("We got an exception while preparing a statement:" +
                   "Probably bad SQL.");
                   System.out.println(SelectQry);
                   se.printStackTrace();
                   //System.exit(1);
              finally {
                   try {
                        rs.close();
                        stmt.close();
                        con.close();
                   } catch (SQLException e) {
                        e.printStackTrace();
              return mapping.findForward("comment");
    commentform.jsp
    =============
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-html"     prefix="html"%>
    <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
    <%@ taglib uri="http://java.sun.com/jstl/sql_rt" prefix="sql"%>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <script>
    function putLabel(lbl, formName){
    if (opener && !opener.closed){
    opener.document.addapp.jobposition.value=lbl;
    window.close();
    </script>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>List of open positions</title>
    </head>
    <body>
    <h2>Job Positions Available</h2>
    <%
    int ctr = 1; %>
    <logic:iterate id="myString" name="commentlist" scope="session">
    <table width="100%" border="0">
    <%
    String bakcolor;
    if((ctr % 2) == 0){
         bakcolor = "WHITE";
         ctr++;
    else{
         bakcolor = "SILVER";
         ctr++;
    %>
    <tr><td bgcolor="<%= bakcolor %>">
    <bean:write name="myString" property="value" />
    </td></tr>
    ${commentlist}
    </table>
    </logic:iterate>
    </body>
    </html>
    thank you in advance!

    Shilnag wrote:
    Hello guys,
    I am new to java... I am trying to develop a web application using
    1.Struts1.2
    2.tomcat 5.5
    3.eclipse 3.2.2Big mistake. Nobody new to Java should jump straight into webapps, let alone using a framework like Struts. Debatably, even Eclipse should be left alone.
    It's precisely because of this that you're having problems. Presumably you're following a tutorial or something, but - as demonstrated - as soon as it goes wrong, you're stuck. Learn some core Java first, trust me

  • Help--Struts-action-mappings

    Hello forums,
    i have a problem i have small structs app.
    and i have made a small jsp that called it,
    but when I call the jsp I get the error saying that jsp-compile error,the actions mappings can not be found.
    any suggestion ?
    Thanks a lot for your time.sorry about the mess.
    I just run untitled1.jsp from jdev903_pre:
    the strute -version is the one that comes with jdev903_pre.
    C:\jdev903_pre\jakarta-struts
    Here is my jsp.
    untitle1.jsp
    <%@ page language="java" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>
    Hello World
    </title>
    </head>
    <body>
    <html:form action="/action.do">
    <html:text property="loginIni" />
    <html:submit title="Click" />
    </html:form>
    <h2>
    The current time is:
    </h2>
    <p>
    <%= new java.util.Date() %></p>
    </body>
    </html>
    strut-config.xml
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" " " target="_new">http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> <struts-config>
    <message-resources parameter="mypackage9.ApplicationResources"/>
    <!-- ========== Form Bean Definitions ================= -->
    <form-beans>
    <form-bean name="actionForm"
    type="ActionForm1"/>
    </form-beans>
    <!-- ========== Action Mapping Definitions ============ -->
    <action-mappings>
    <action path="/action"
    type="Action1"
    name="actionForm"
    scope="request"
    input="/untitled1.jsp"/>
    <forward name="success" path="/untitled1.jsp"/>
    </action>
    </action-mappings>
    </struts-config>
    my web.xml
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" " " target="_new">http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app>
    <description>Empty web.xml file for Web Application</description>
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
    <param-name>debug</param-name>
    <param-value>2</param-value>
    </init-param>
    <init-param>
    <param-name>detail</param-name>
    <param-value>2</param-value>
    </init-param>
    <init-param>
    <param-name>validate</param-name>
    <param-value>true</param-value>
    </init-param>
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
    <param-name>debug</param-name>
    <param-value>2</param-value>
    </init-param>
    <init-param>
    <param-name>detail</param-name>
    <param-value>2</param-value>
    </init-param>
    <init-param>
    <param-name>validate</param-name>
    <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <session-config>
    <session-timeout>30</session-timeout>
    </session-config>
    <mime-mapping>
    <extension>html</extension>
    <mime-type>text/html</mime-type>
    </mime-mapping>
    <mime-mapping>
    <extension>txt</extension>
    <mime-type>text/plain</mime-type>
    </mime-mapping>
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.html</welcome-file>
    </welcome-file-list>
    <taglib>
    <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
    </taglib>
    </web-app>
    package mypackage9;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    public class Action1 extends Action
    * This is the main action called from the Struts framework.
    * @param mapping The ActionMapping used to select this instance.
    * @param form The optional ActionForm bean for this request.
    * @param request The HTTP Request we are processing.
    * @param response The HTTP Response we are processing.
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    ActionForm1 fom=(ActionForm1)form;
    return mapping.findForward("success");
    package mypackage9;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionMapping;
    import javax.servlet.http.HttpServletRequest;
    public class ActionForm1 extends ActionForm
    * Reset all properties to their default values.
    * @param mapping The ActionMapping used to select this instance.
    * @param request The HTTP Request we are processing.
    public void reset(ActionMapping mapping, HttpServletRequest request)
    super.reset(mapping, request);
    * Validate all properties to their default values.
    * @param mapping The ActionMapping used to select this instance.
    * @param request The HTTP Request we are processing.
    * @return ActionErrors A list of all errors found.
    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request)
    return super.validate(mapping, request);
    ERROR
    500 Internal Server Error
    javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection
    void org.apache.struts.taglib.html.FormTag.lookup()
    FormTag.java:858
    int org.apache.struts.taglib.html.FormTag.doStartTag()
    FormTag.java:543
    void untitled1.jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    [untitled1.jsp]
    untitled1.jsp:15
    void oracle.jsp.runtime.HttpJsp.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    HttpJsp.java:139
    void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
    JspPageTable.java:317
    void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    JspServlet.java:465
    void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    JspServlet.java:379
    void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    HttpServlet.java:853
    void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    ServletRequestDispatcher.java:724
    void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.forwardInternal(javax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
    ServletRequestDispatcher.java:309
    boolean com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.processRequest(com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.ApplicationServerThread, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletRequest, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
    HttpRequestHandler.java:767
    void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(java.lang.Thread)
    HttpRequestHandler.java:259
    void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run()
    HttpRequestHandler.java:106
    void EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run()
    PooledExecutor.java:803
    void java.lang.Thread.run()
    Thread.java:484

    Jean,
    Your struts-config.xml is not correct. You should not have a terminator after:
    input="/untitled1.jsp"/>
    instead it should be:
    input="/untitled1.jsp">
    As a result the mapping was never found...
    Also your class names need to be package prefixed:
    type="mypackage9.ActionForm1"
    That will get you started.
    You can use the XML syntax checker with right-click menu on the xml node in the navigator.
    Charles.

  • Struts-action-mappings-3

    Hello forums,
    i have a problem i have small structs app.
    and i have made a small jsp that called it,
    but when I call the jsp I get the error saying that jsp-compile error,the actions mappings can not be found.
    any suggestion ?
    Thanks a lot for your time.sorry about the mess.
    I just run untitled1.jsp from jdev903_pre:
    the strute -version is the one that comes with jdev903_pre.
    C:\jdev903_pre\jakarta-struts
    Here is my jsp.
    untitle1.jsp
    <%@ page language="java" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>
    Hello World
    </title>
    </head>
    <body>
    <html:form action="/action.do">
    <html:text property="loginIni" />
    <html:submit title="Click" />
    </html:form>
    <h2>
    The current time is:
    </h2>
    <p>
    <%= new java.util.Date() %></p>
    </body>
    </html>
    strut-config.xml
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
    <struts-config>
    <message-resources parameter="mypackage9.ApplicationResources"/>
    <!-- ========== Form Bean Definitions ================= -->
    <form-beans>
    <form-bean name="actionForm"
    type="ActionForm1"/>
    </form-beans>
    <!-- ========== Action Mapping Definitions ============ -->
    <action-mappings>
    <action path="/action"
    type="Action1"
    name="actionForm"
    scope="request"
    input="/untitled1.jsp"/>
    <forward name="success" path="/untitled1.jsp"/>
    </action>
    </action-mappings>
    </struts-config>
    my web.xml
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <description>Empty web.xml file for Web Application</description>
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
    <param-name>debug</param-name>
    <param-value>2</param-value>
    </init-param>
    <init-param>
    <param-name>detail</param-name>
    <param-value>2</param-value>
    </init-param>
    <init-param>
    <param-name>validate</param-name>
    <param-value>true</param-value>
    </init-param>
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
    <param-name>debug</param-name>
    <param-value>2</param-value>
    </init-param>
    <init-param>
    <param-name>detail</param-name>
    <param-value>2</param-value>
    </init-param>
    <init-param>
    <param-name>validate</param-name>
    <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <session-config>
    <session-timeout>30</session-timeout>
    </session-config>
    <mime-mapping>
    <extension>html</extension>
    <mime-type>text/html</mime-type>
    </mime-mapping>
    <mime-mapping>
    <extension>txt</extension>
    <mime-type>text/plain</mime-type>
    </mime-mapping>
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.html</welcome-file>
    </welcome-file-list>
    <taglib>
    <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
    </taglib>
    </web-app>
    package mypackage9;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    public class Action1 extends Action
    * This is the main action called from the Struts framework.
    * @param mapping The ActionMapping used to select this instance.
    * @param form The optional ActionForm bean for this request.
    * @param request The HTTP Request we are processing.
    * @param response The HTTP Response we are processing.
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    ActionForm1 fom=(ActionForm1)form;
    return mapping.findForward("success");
    package mypackage9;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionMapping;
    import javax.servlet.http.HttpServletRequest;
    public class ActionForm1 extends ActionForm
    * Reset all properties to their default values.
    * @param mapping The ActionMapping used to select this instance.
    * @param request The HTTP Request we are processing.
    public void reset(ActionMapping mapping, HttpServletRequest request)
    super.reset(mapping, request);
    * Validate all properties to their default values.
    * @param mapping The ActionMapping used to select this instance.
    * @param request The HTTP Request we are processing.
    * @return ActionErrors A list of all errors found.
    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request)
    return super.validate(mapping, request);
    ERROR
    500 Internal Server Error
    javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection
    void org.apache.struts.taglib.html.FormTag.lookup()
    FormTag.java:858
    int org.apache.struts.taglib.html.FormTag.doStartTag()
    FormTag.java:543
    void untitled1.jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    [untitled1.jsp]
    untitled1.jsp:15
    void oracle.jsp.runtime.HttpJsp.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    HttpJsp.java:139
    void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
    JspPageTable.java:317
    void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    JspServlet.java:465
    void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    JspServlet.java:379
    void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    HttpServlet.java:853
    void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    ServletRequestDispatcher.java:724
    void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.forwardInternal(javax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
    ServletRequestDispatcher.java:309
    boolean com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.processRequest(com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.ApplicationServerThread, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletRequest, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
    HttpRequestHandler.java:767
    void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(java.lang.Thread)
    HttpRequestHandler.java:259
    void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run()
    HttpRequestHandler.java:106
    void EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run()
    PooledExecutor.java:803
    void java.lang.Thread.run()
    Thread.java:484

    Check out the posting
    Re: Different color other then selecting one from the tool palette
    Also, suggest if you are having a problem in Jdev environment,
    posting on the Jdeveloper forum might be more appropriate.
    -Prasad

  • To display value in html: textarea in struts

    Hello,
    I want to display value in <html:textarea> in struts application from my userdefine FormBean.
    i tried like this
    <html:textarea property="documentNumberList" value='"<bean:write name="QualityForm" property="displayDocumentNumber">" ></html:textarea>
    I am not getting success.
    I would be appriciate to you if anyone could let me know what is the solution of this problem ? or send me one example.
    Thanks
    Rajnish
    [email protected]

    Hi,
    That did'nt solve my problem. Actually i am trying to get the arraylist data one by one into different textareas. There are two arrays one is quesArray and the other quesIdArray. I need the quesIdArray in the individual text areas.How can i achieve this?
    I am using the following code to do that.
    <logic:iterate id="item" name="selectionCriteriaForm" indexId="index" property="quesArray">
    <tr><td><li><em><b><bean:write name="item"/> </em></li></b></td>          
    <td><html:textarea property="quesIdArray" cols="50" rows="2" name="selectionCriteriaForm" onkeyup="limitTextarea(answer<%=i %>,5,50)" />          
    <br></td></tr>
    <% i=i+1;
    %></td></tr>          
    </logic:iterate>
    Pls help me on this.
    Thanx in advance.

Maybe you are looking for

  • Why does a Safe Boot fix my video problem?

    After visiting my local Genius Bar twice (and getting two different answers), I erased and reinstalled Snow Leopard 10.6 on my late-2006 "white plastic" iMac. I reinstalled the version of SL that came with the iMac, then upgraded it twice to OS 10.6.

  • Can no longer access .me email on all devices. What did I do wrong?

    I can no longer receive an email on my iphone if the message has been received by outlook on my PC. The message finds outlook and is no longer pushing to my iphone and iCloud online email. I cannot figure out what I did to disrupt this behavior as th

  • How to Install Discoverer and Reports in same Laptop

    Does anyone knows how to install Discoverer 4.1 and Reports 9.1 in the same machine?

  • Abap query ..............i have created infoquery

    Dear Freinds              ihave created info-set(abap query) ...and from there when i executed the info set ..it has generated me abap repot...........so i have went to se38 and i have rename the infoset repot which generated....as per my client nami

  • Unload swf file using SWFLoader

    Hi, I have a main application where I am using a SWFLoader to load a second application. In the second application I want to put a button (Close) and when I click it I want to unload this application. Is it possible to achieve this? I know that I can