Database Driven Dynamic pages

Hi all,
I am new to jsp/servlets but I know java. I have been teaching myself jsp for a few weeks now, but i am unclear about a few things. I figure a good exercise would be to make a ecom. website for someone i know, which would help me learn and they would get a site for free. I am just unclear on creating the dynamic pages. Say i have 6 categories. I would like to click on the link and select all the products from that category and display them in a table on the page. I know you need to create a servelet that will query the db then you can create the table adding in the data from the DB and send it back to the client side. Im just not sure what its the best way to do this. I have seen code the looks like product?productCode=123131. and i believe this calls a servelet and passes in the 123131 as a parameter. I have a pretty good idea of how to do this but i am looking for an example or some kind of tutorial to help me along. I have been searching for a while and came up with nothing. I have been using this book while teaching myself.
Murach's Java Servlets and JSP
They have a pretty good example of an entire site but i am just getting stuck in this spot.
TIA
John

Sorry i was in rich text mode
web.xml
<servlet>
        <servlet-name>DisplayProducts</servlet-name>
        <servlet-class>category.DisplayProducts</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>DisplayProducts</servlet-name>
        <url-pattern>/product</url-pattern>
    </servlet-mapping>Product.java
package ecom;
     import java.text.NumberFormat;
     import java.io.Serializable;
     public class Product implements Serializable
          private int code;
          private String style;
          private String description;
          private double price;
          private String color;
          private String size;
          private String thumb;
          private String full;
          public Product()
               code = 0;
               style = "";
               description = "";
               price = 0;
               color = "";
               size = "";
               thumb = "";
               full = "";
          public void setCode(int code)
               this.code = code;
          public int getCode()
               return code;
          public String getStyle() {
               return style;
          public void setStyle(String style) {
               this.style = style;
          public void setDescription(String description)
               this.description = description;
          public String getDescription()
               return description;
          public void setPrice(double price)
               this.price = price;
          public double getPrice()
               return price;
          public String getColor() {
               return color;
          public void setColor(String color) {
               this.color = color;
          public String getSize() {
               return size;
          public void setSize(String size) {
               this.size = size;
          public String getThumb() {
               String imageURL = "/images/" + thumb;
               return imageURL;
          public void setThumb(String thumb) {
               this.thumb = thumb;
          public String getFull() {
               String imageURL = "/images/" + full;
               return imageURL;
          public void setFull(String full) {
               this.full = full;
          public String getPriceCurrencyFormat()
               NumberFormat currency = NumberFormat.getCurrencyInstance();
               return currency.format(price);
     }ProductDB.java
package data;
import java.sql.*;
import java.util.*;
import ecom.Product;
public class ProductDB {
    //This method returns null if a product isn't found.
    public static Product selectProduct(int productID)
        ConnectionPool pool = ConnectionPool.getInstance();
        Connection connection = pool.getConnection();
        PreparedStatement ps = null;
        ResultSet rs = null;
        String query = "SELECT A.PROD_SKU_ID, B.STYLE, B.DESCRIPTION, B.PRICE, A.COLOR, A.SIZE, C.THUMB_IMAGE, C.FULL_IMAGE "+
        "FROM TB_PRODUCT_SKU A "+
        "JOIN TB_PRODUCT B ON(A.PRODUCT_ID = B.PRODUCT_ID) "+
        "JOIN TB_WEB_IMAGE C ON(C.WEB_IMAGE_ID = B.WEB_IMAGE_ID) "+
        "WHERE A.PROD_SKU_ID = ? AND A.QUANTITY > 0";
        try
            ps = connection.prepareStatement(query);
            ps.setInt(1, productID);
            rs = ps.executeQuery();
            if (rs.next())
                Product p = new Product();
                 p.setCode(rs.getInt("PROD_SKU_ID"));
                   p.setStyle(rs.getString("STYLE"));
                   p.setDescription(rs.getString("DESCRIPTION"));
                   p.setPrice(rs.getDouble("PRICE"));
                   p.setColor(rs.getString("COLOR"));
                   p.setSize(rs.getString("SIZE"));
                   p.setThumb(rs.getString("THUMB_IMAGE"));
                   p.setFull(rs.getString("FULL_IMAGE"));
                return p;
            else
                return null;
        catch(SQLException e)
            e.printStackTrace();
            return null;
        finally
             UtilDB.closeResultSet(rs);
             UtilDB.closePreparedStatement(ps);
            pool.freeConnection(connection);
    //This method returns null if a product isn't found.
    public static ArrayList<Product> selectProducts(String cat_id)
         ConnectionPool pool = ConnectionPool.getInstance();
         Connection connection = pool.getConnection();
         PreparedStatement ps = null;
         ResultSet rs = null;
         String query = "SELECT A.PROD_SKU_ID, B.STYLE, B.DESCRIPTION, B.PRICE, A.COLOR, A.SIZE, C.THUMB_IMAGE, C.FULL_IMAGE "+
                        "FROM TB_PRODUCT_SKU A "+
                        "JOIN TB_PRODUCT B ON(A.PRODUCT_ID = B.PRODUCT_ID) "+
                        "JOIN TB_WEB_IMAGE C ON(C.WEB_IMAGE_ID = B.WEB_IMAGE_ID) "+
                        "WHERE CATEGORY_ID = " +cat_id+ "AND A.QUANTITY > 0";
         try
              ps = connection.prepareStatement(query);
              rs = ps.executeQuery();
              ArrayList<Product> products = new ArrayList<Product>();
              while (rs.next())
                   Product p = new Product();
                   p.setCode(rs.getInt("PROD_SKU_ID"));
                   p.setStyle(rs.getString("STYLE"));
                   p.setDescription(rs.getString("DESCRIPTION"));
                   p.setPrice(rs.getDouble("PRICE"));
                   p.setColor(rs.getString("COLOR"));
                   p.setSize(rs.getString("SIZE"));
                   p.setThumb(rs.getString("THUMB_IMAGE"));
                   p.setFull(rs.getString("FULL_IMAGE"));
                   products.add(p);
              return products;
         catch(SQLException e)
              e.printStackTrace();
              return null;
         finally
              UtilDB.closeResultSet(rs);
              UtilDB.closePreparedStatement(ps);
              pool.freeConnection(connection);
    public static ArrayList<Product> selectProducts()
         ConnectionPool pool = ConnectionPool.getInstance();
         Connection connection = pool.getConnection();
         PreparedStatement ps = null;
         ResultSet rs = null;
         String query = "SELECT A.PROD_SKU_ID, B.STYLE, B.DESCRIPTION, B.PRICE, A.COLOR, A.SIZE, C.THUMB_IMAGE, C.FULL_IMAGE "+
                        "FROM TB_PRODUCT_SKU A "+
                        "JOIN TB_PRODUCT B ON(A.PRODUCT_ID = B.PRODUCT_ID) "+
                        "JOIN TB_WEB_IMAGE C ON(C.WEB_IMAGE_ID = B.WEB_IMAGE_ID) "+
                        "WHERE A.QUANTITY > 0";
         try
              ps = connection.prepareStatement(query);
              rs = ps.executeQuery();
              ArrayList<Product> products = new ArrayList<Product>();
              while (rs.next())
                   Product p = new Product();
                   p.setCode(rs.getInt("PROD_SKU_ID"));
                   p.setStyle(rs.getString("STYLE"));
                   p.setDescription(rs.getString("DESCRIPTION"));
                   p.setPrice(rs.getDouble("PRICE"));
                   p.setColor(rs.getString("COLOR"));
                   p.setSize(rs.getString("SIZE"));
                   p.setThumb(rs.getString("THUMB_IMAGE"));
                   p.setFull(rs.getString("FULL_IMAGE"));
                   products.add(p);
              return products;
         catch(SQLException e)
              e.printStackTrace();
              return null;
         finally
              UtilDB.closeResultSet(rs);
              UtilDB.closePreparedStatement(ps);
              pool.freeConnection(connection);
}Display products.java
package category;
import java.io.IOException;
import java.sql.Connection;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import data.ConnectionPool;
import data.ProductDB;
import ecom.Product;
public class DisplayProducts extends HttpServlet{
     protected void doGet(HttpServletRequest request,
               HttpServletResponse response)
             throws ServletException, IOException
          List<Product> products = ProductDB.selectProducts();
          HttpSession session = request.getSession();
          session.setAttribute("products", products);
          String url = "/bracelets.jsp";
          RequestDispatcher dispatcher =
               getServletContext().getRequestDispatcher(url);
          dispatcher.forward(request, response);
}bracelets.jsp
<%@ 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>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<table>
  <thead>
    <tr><th>ID</th><th>Product Name</th><th>Price<th></tr>
  </thead>
  <tbody>
    <c:forEach var="products" items="${products}">
      <!-- formatting probably required for price -->
      <tr>
      <td>${product.code}</td>
      <td>${product.style}</td>
      <td>${product.description}</td>
      <td>${product.price}</td>
      <td>${product.color}</td>
      <td>${product.size}</td>
      <td>${product.thumb}</td>
      <td>${product.full}</td>
      </tr>
    </c:forEach>
  </tbody>
</table>
</body>
</html>index.jsp
<%@ 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>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<p><a href="product">Bracelets</a></p>
</body>
</html>Edited by: jonnyd9191 on Jul 14, 2008 1:49 PM

Similar Messages

  • Dynamic page information from the portal database?

    Is it possible to get information about existing dynamic pages from the portal database? We're upgrading our portal from 9.0.4 to 10.1.4 and because we will be running the new version on a different platform, we can't run any upgrade scripts and need to build again from scratch. I was hoping I could pull dynamic page information from a portal view or table into a spreadsheet, to save our developers having to click into each dynamic page application in the old version to get the pl/sql code to copy and paste into the new version. The generated dynamic page packages just have api calls, so it may be possible that there's an api to do this. Does anyone know if this is possible, and if so, how to do it? Thanks.

    closing the thread

  • In a dynamic page how to share variable between PL/SQL and javascript

    For example, my dynamic page contains such PL/SQL codes:
    <ORACLE>
    DECLARE
    info varchar(100);
    rowid urowid;
    procedure doDelete(
    row_id in urowid
    ) IS
    begin
    Delete From xxx
    WHERE rowid = row_id;
    end doDelete;
    BEGIN
    Select name, rowid INTO info, rowid
    From xxx Where xxx;
    HTP.PRN(' <INPUT TYPE="button" VALUE="show value" onClick="alert(info);">');
    HTP.PRN(' <INPUT TYPE="button" VALUE="delete" onClick="doDelete(_row_id);">');
    END;
    </ORACLE>
    The variable 'info' and '_row_id' are correct, however the two HTP. sentence do not work. What's the problem?
    What I want to do is to show all the records in TABLE A in a page. And at the end of each line (record), there' re a 'delete' and a 'update' button to let user operate on this record. Is this possible? I know form can do delete an update, but it can not show all the records in a page like what report does. Besides dynamic page, is there any other better choice? Report can do it?
    One more question. In a report, I employed link on one field to a second report. It works well. But I want to open the second report in a new window when the link is click. Is this possible?
    I was almost driven crazy by these :( I so appreciate if anyone can help.

    The code written by you is insufficient for the funtionality you are trying to achieve. Below is a method to achieve the same.
    Note: Used standard scott.emp table for the example which is located in my db provider schema.
    Do the below modifications as per your local configuration
    xxxxx -> Replace it with your Portal schema
    yyyyy -> Replace it with your db provider schema
    <<module_id_of_form>> -> Replace with the module id of form created in step 1 & 2.
    First and foremost... oracle does not allows variables starting with '_'. So if you want to use it you have to place it in double quotes ("")
    rowid -> illegal
    "_row_id" -> legal.
    However, I will advice you not to use variable names starting with "_".
    Now lets get started...
    1. Create a form on the table you are using in the dynamic page. Just have the update button. Remove the other buttons.
    2. Get the module id of this form. Instruction for getting the module id:
    a) Right-click on the form's run link and copy the shortcut
    b) Get the value of p_moduleid parameter. This is your module id.
    3. Create a procedure "save_action_details" in your db provider schema. This procedure will accomplish the delete operation on the record.
         CREATE OR REPLACE Procedure save_action_details(
         p_rowid IN VARCHAR2,
         p_action IN VARCHAR2,
         p_dyn_ref_path IN VARCHAR2,
         p_dyn_page_url IN VARCHAR2)
         is
         l_sto_session xxxxx.wwsto_api_session;
         begin
         l_sto_session := xxxxx.wwsto_api_session.load_session(
         p_domain => 'DynStore',
         p_sub_domain => 'DynStore_' || p_dyn_ref_path
         l_sto_session.set_attribute(
         p_name => 'rowid',
         p_value => p_rowid
         l_sto_session.set_attribute(
         p_name => 'action',
         p_value => p_action
         l_sto_session.save_session;
         htp.init;
         owa_util.redirect_url(p_dyn_page_url);
         end save_action_details;
    Explaination: The above procedure creates a session and keeps the rowid and action in the session. This information is used by the below dynamic form to perform the necessary action. In our exampl, the action is always going to be delete so you may go ahead and hard code it, else leave it as it is.
    4. Grant execute privilege on the procedure "save_action_details" to public.
    sql> grant execute on save_action_details to public;
    5. Create your Dynamic page.
    a) In HTML code section have the below code. This code shows some columns from the table and "update" and "delete" buttons to perform the respective action.
         <ORACLE>select empno,ename,rowid,
         '<input type="button" value="Update" onClick="doAction(this.form,''UPD'',''xxx'','''
         || xxxxx.wwv_standard_util.url_encode(rowid) || '''); tWin();">
         <input type="button" value="delete" onclick="doAction(this.form,''DEL'',''' || rowid || ''',''xxx'');">' Action
         from yyyyy.emp</ORACLE>
    b) In additional pl/sql code section of dynamic page, have the below pl/sql block "in after displaying the header" section.
         declare
         l_sto_session xxxxx.wwsto_api_session;
         l_del_rowid varchar2(20);
         l_action varchar2(10);
         begin
         htp.comment('User code starts here ...');
         htp.p('<script>');
         htp.p('var winHandle;');
         htp.p('
         function doAction(formObj, action, rowid, erowid)
              if (action == "UPD")
              var formURL = "' || xxxxx.wwctx_api.get_proc_path('wwa_app_module.link?p_arg_names=_moduleid&p_arg_values=<<module_id_of_form>>&p_arg_names=_rowid&p_arg_values=') || '" + erowid;
              winHandle = window.open(formURL, "winDynUpd", "width=750,height=500,resizable=yes");
              else
              formObj.p_rowid.value = rowid;
              formObj.p_action.value = action;
              formObj.submit();
         function tWin() {
              if (winHandle.closed) {
              document.location = document.location;
              else {
              setTimeout("tWin()", 500);
         htp.p('</script>');
         htp.p('<form name="dynRowProcess" method="POST" action="'
         || xxxxx.wwctx_api.get_proc_path('save_action_details','yyyyy')
         || '">');
         htp.p('<input type="hidden" name="p_rowid">');
         htp.p('<input type="hidden" name="p_action">');
         htp.p('<input type="hidden" name="p_dyn_ref_path" value="' || p_reference_path || '">');
         htp.p('<input type="hidden" name="p_dyn_page_url" value="' || p_page_url || '">');
         l_sto_session := xxxxx.wwsto_api_session.load_session(
         p_domain => 'DynStore',
         p_sub_domain => 'DynStore_' || p_reference_path
         l_del_rowid := l_sto_session.get_attribute_as_varchar2('rowid');
         l_action := l_sto_session.get_attribute_as_varchar2('action');
         if l_action = 'DEL' then
         delete from yyyyy.emp
         where rowid = l_del_rowid;
         end if;
         end;
    Explaination: The session information (rowid and action) stored by "save_action_details" procedure is retrieved by the dynamic page and is used to delete the record.
    6. Once you are through with the above steps, test it by placing the above "dynamic page" portlet on a page.
    a) When you click on delete button the record gets deleted and the automatically refreshed page will not show the deleted record.
    b) On clicking update button, a form will appear. do the necessary modifications in data and click update. the data in the form gets updated. Once you close the form the dynamic page gets refreshed automatically and it will show you the updated information.

  • How to get form fields in a dynamic page as a portlet

    I have a dynamic page(publish as portlet and added to a portal page) with a html form that has many radio button created dynamically (query a table and create as many radio button as records I found) and the name of each radio button is the id of the record from the table it represents.
    When I click the submit button of my form it will recall the same portal page and then I have to check which radio buttons where selected to update the database depending on it.
    The problem is that I can't get the radio buttons inside the dynamic page because they are created dynamically so I can't make them portlet parameters to be associated with page parameters.
    So How can I tell which radio buttons have been selected?
    Please help me.

    Hi,
    Write a procedure which will be called as the form action. This procedure should take an array of parameters like p_arg_names and p_arg_values. For example
    <html>
    <form>
    <input type="checkbox" name="p_radio">
    <input type="checkbox" name="p_radio">
    </form>
    procedure submit_form(p_radio in wwv_utl_api_types.vc_arr)
    begin
    for i in 1..p_radio.count
    loop
    htp.p(p_radio(i));
    end loop;
    wwv_redirect.url(<page_url>);
    end;
    Hope that helps.
    Thanks,
    Sharmila

  • Error creating dynamic page in an application with a schema other than portal30

    Running 9iAS 1.0.2.2 on Solaris.
    Database 8.1.7.1
    I cannot seem to create a default dynamic page (select 'x' from dual) in an application that has a schema (e.g. test) other
    than portal30. The error seems to be when portal tries to compile the dynamic-page package, it references itself from
    within the package but prefixing the call with the other (test) schema. It never seems to compile? What seems to be the
    problem? Any ideas?

    If you are using any database object other than the applcation owned,then it has to be prefixed with the schema owner.
    For example,
    if the application schema is based on the schema "schema1" (say)
    and your query is based on one of the object on "schema2"
    and if you have necessary privilegves to access that object from schema2, then the compiler wont throw any error.
    Can u explain, what u problem you are experiencing in detail?
    (Also, if u give me the portal version, I can cross-verify that).

  • How do I branch to a dynamic page on the App Server

    I have a dynamic page that is a menu that is dynamically generated based on what choice was selected from a higher level menu that is a portlet on the front page of our site (Application Server based). This menu calls up application code, currently app server portal forms. I want to convert over to HTML DB. I can not get a branch to work to branch back to my application menu. When I use function returning URL, it is appending anything that I return after the /htmldb and not replacing the URL. The hard coded URL works, but I have something that I need to look up from a database record to append to the URL. When I try using portal's portal.wwa_app_module.set_target procedure to do it, nothing happens and I get the error stating that I have no default branch to process. Thanks for the help

    Dwayne,
    I would suggest that you focus on only the HTML DB pieces here, given that the Portal components are just part of the "outside world". If you are having trouble with a branch to a function returning URL, show us the exact code and what it returns vs. what you are expecting it to return. The Apache request log might show useful inormation as well if the redirect seems to be broken.
    Scott

  • How to retrieve and then update a field in a dynamic page?

    I use the dynamic page to retrieve a text field from db table, now I want to update it and save back into the database. The first part(retrieve and display) works fine. But when I put update the table codes inside another oracle tag,it gives me a page not found error. Can you operate on the same database field more than once in a dynamic page?

    The purpose is to automatically calculate the transport freight  as a percentage of the net amount of the sales order. We are able to retrieve this field even if the sales order has not been posted yet with this formatted search:
    Select $[$22.0.0]
    Our doubt is that this field is affected also by the item of the expenses that we are going to calculate, this is the reason why we are trying to calculate the line total of each row and in the formatted search exclude the item that have a certain code (i.e. transport freight), in this way we are sure that we are calculating the percentage of  the net amount of the goods without the freight.
    Thank you for the support.
    Fedora

  • Form in Dynamic page not working when checkbox is used.

    I have created a form using dynamic page. The form most have display fields and a checkbox field. When I check a box, it assigns 'Y' value and when unclick, it assign 'N' to the database field.
    When I submit the form, the procedure which is supposed to save the form data never gets executed. Well, at least it says, page not found HTTP 404 error.
    Interestingly if I make this field a text box and manually enter 'Y' or 'N', and then submit the form, the procedure is executed. Data gets saved.
    Is the checkbox not supposed to be used for a database field because checkbox value can be assigned only using javascript and the procedure never get that value ?
    Can you please tell me how to use a checkbox for a database field using dynamic page ?
    thanks,
    Mainak

    Sharmila,
    When I said, the form does not get submitted, I meant that the procedure does not work. The form gets submitted but the procedure does not work. It gives HTTP 404 error. That is what perplexes me. I am unable to understand why the procedure does not work when I click a checkbox.
    May be you can make this work. I am hopeless about this.
    Here is the code for the procedure sumbit_form:
    NOTE: I ADDED TWO FIELDS CALLED PROMOT VARCHAR2(1), PROMOTID NUMBER(4) TO THE EMP TABLE AND CREATED A NEW TABLE CALLED PROMOTEMP. THIS IS A TEST CASE.
    create or replace procedure sumbit_form
    (p_empno IN portal30.wwv_utl_api_types.vc_arr, p_promot IN portal30.wwv_utl_api_types.vc_arr, p_action IN VARCHAR2)
    is
    begin
    if p_action = 'save' then
    for i in 1..p_empno.count LOOP
    update scott.promotemp
    set promot = p_promot(i)
    where empno = p_empno(i);
    END LOOP;
    end if;
    commit;
    htp.p('<b>Saved Successfully</b>');
    htp.p('<table border=1 bordercolor="red">');
    for c1 in (select * from promotemp where promot='Y')
    LOOP
    htp.p('<tr><td>');
    htp.p(c1.ename);
    htp.p('</td><td>');
    htp.p(c1.job);
    htp.p('</td><td>');
    htp.p(c1.mgr);
    htp.p('</td><td>');
    htp.p(c1.sal);
    htp.p('</td><td>');
    htp.p(c1.deptno);
    htp.p('</td></tr>');
    end loop;
    htp.p('</table>');
    EXCEPTION
    when others then
    raise;
    end;
    Here is the code for the dynamic page.
    <HTML>
    <HEAD>
    <TITLE>Promot Emp</TITLE>
    <script language="JavaScript1.1">
    function include(form) {
    var thisform = form;
    for (var i=0; i<thisform.length; i++) {
         if (thisform.elements.type == 'checkbox') {
              if (thisform.elements[i].checked) {
                   thisform.elements[i].value = 'Y'; }
              else { thisform.elements[i].value = 'N'; }
    form.submit();
    function show(form) {
    var thisform = form;
    for (var i=0; i<thisform.length; i++) {
         if (thisform.elements[i].type == 'checkbox') {
              if (thisform.elements[i].value = 'Y') {
                   thisform.elements[i].checked = true; }
              else { thisform.elements[i].checked = false; }
    </script>
    </HEAD>
    <BODY>
    <FORM action="scott.sumbit_form" method="post">
    <table border=1 bordercolor="red">
    <tr>
    <td> </td>
    <td>Name</td>
    <td>Job</td>
    <td>Manager</td>
    <td>Hire Date</td>
    <td>Commission</td>
    <td>Department#</td>
    <td>Include</td>
    </tr>
    <ORACLE>declare
    i number;
    begin
    i := 0;
    for c1 in (select * from scott.promotemp where promotid = :promotid)
    loop
    htp.p('<tr><td>');
    htp.p('<input type="hidden" name="p_empno" value='||c1.empno||'>');
    htp.p('</td><td>');
    htp.p(c1.ename);
    htp.p('</td><td>');
    htp.p(c1.job);
    htp.p('</td><td>');
    htp.p(c1.mgr);
    htp.p('</td><td>');
    htp.p(c1.hiredate);
    htp.p('</td><td>');
    htp.p(c1.comm);
    htp.p('</td><td>');
    htp.p(c1.deptno);
    htp.p('</td><td>');
    if (c1.promot = 'Y') then
    htp.p('<SELECT NAME="p_promot" SIZE="1">
    <OPTION SELECTED VALUE="'||c1.promot||'">Yes
    <OPTION VALUE="N">No
    </SELECT>');
    else
    htp.p('<SELECT NAME="p_promot" SIZE="1">
    <OPTION SELECTED VALUE="'||c1.promot||'">No
    <OPTION VALUE="Y">Yes
    </SELECT>');
    end if;
    htp.p('</td></tr>');
    end loop;
    htp.p('</table>');
    htp.p('<input type="submit" value="save" name="p_action">');
    end;
    </ORACLE>
    </form>
    </BODY>
    </HTML>
    thanks,
    Mainak

  • How to create a dynamic page from a parameter table at runtime?

    I have a table which has the information of item names,types,default values of an input form. Is it possible to create a dynamic page at runtime from these parameters? I saw htmldb_item but what i need is something like attaching athis input form to a dynamic sql with htmldb_item.
    Thank you

    Oracle supports feedback form metalink was; "What you exactly want to approach is not possible in Htmldb"
    I can guess that it is not
    exactly possible since I looked at the forums and documantation etc. but
    couldnt find anything similar than this link; "http://www.oracle.com/technology/products/database/htmldb/howtos/tabular_form.h
    t". But this is a very common need and I thought that there must be at least a workaround?
    How can I talk or write to Html Db development team about this since any ideas, this is very important item in a critial project?
    I will be able to satisfy the need in a functional way if I could make the
    select lists in the tabular form dynamic with the noz_id;
    SELECT vozellik "Özellik",
    htmldb_item.select_list_from_query(2, t2.nozellik_deger, 'select vdeger
    a,vdeger b from tozellik_deger where noz_id = 10') "Select List",
    htmldb_item.text(3, NULL, t2.vcihaz_oz_deger) "Free Text"
    FROM vcihaz_grup_ozellik t1, tcihaz_oz t2
    WHERE t1.noz_id = t2.noz_id
    AND t2.ncihaz_id = 191
    AND t1.ngrup_id = 5
    But what I exactly need i something like this dynamic query;
    SELECT
    vozellik "Özellik",
    CASE
    WHEN (t2.nozellik_deger IS NULL AND t2.vcihaz_oz_deger IS NOT NULL) THEN
    'HTMLDB_ITEM.freetext(' || rownum || ', NULL) ' || vozellik
    WHEN (t2.nozellik_deger IS NOT NULL AND t2.vcihaz_oz_deger IS NULL) THEN
    'HTMLDB_ITEM.select_list_from_query(' || rownum ||
    ', NULL, ''select vdeger a,vdeger b from tozellik_deger where noz_id = ' ||
    t1.noz_id || ''' ) ' || vozellik
    END AS "Değer"
    FROM vcihaz_grup_ozellik t1, tcihaz_oz t2
    WHERE t1.noz_id = t2.noz_id
    AND t2.ncihaz_id = 191
    AND t1.ngrup_id = 5
    Thank you very much,
    Best regards.
    H.Tonguc

  • Dynamic Page that uses javascript to run an executable on the client's pc

    I have an .exe file on a shared network that has to be called and executed from portal. The below code works as standalone but not from a dynamic page or an HTML portlet. Any ideas?
    <html>
    <script language="javascript" type="text/javascript">
    function runApp()
    var shell = new ActiveXObject("WScript.shell");
    shell.run('"c:/CstatsWeeklyreport.exe"',1,true);
    </script>
    <body>
    <input type="button" name="button1" value="Run Notepad" onClick="runApp()" >
    </INPUT>
    </body>
    </html>

    Thanks D, but that's not what I'm looking for. That changes which application a file opens with when you download it. That's not what I need for this situation. Here's a little more detail.
    The clients will have an application on their hard drive; it can be any application, even a custom application that they developed themselves. Then, they open a web page with a listbox full of items. Depending on which item they select, a query will return a file path to the .exe file itself. The .exe file resides on the client's hard drive, not on the server. So they're not downloading anything. Depending on the filepath returned by the query, the browser needs to start the process and open the .exe file for them.
    So let's say I have developed a simple text editor called Tedit. I have a file on my hard drive - "C:\TextEditor\bin\debug\TEdit.exe". When they click the open button, that file path is returned from the database. Then the javascript is called to start the process and open that program.
    Again, nothing is getting downloaded, the application resides on the user's hard drive and there is no file to associate it with.
    This can be done in IE using an ActiveX control. And it used to be possible in Firefox using the nsIFile or nsIProcess objects. But since FF15 that's not available anymore, so the javascript throws an error telling them that their permission is denied.
    What I need, is a javascript that will launch the .exe file from the user's hard drive without downloading anything.

  • How to display dynamic page content in an external application (MS Word)?

    I have a portal that generates a CV from info stored by various forms. The CV displays fine in a dynamic page, but when I add javascript to launch MS Word with a call to the dynamic page portlet, only the hard coded html displays - nothing between the <ORACLE> tags is loaded.
    I had the idea of updating the dynamic page with hard coded html prior to each export - but I can't find where the dynamic page definition is stored in the database.
    Any ideas/better solutions out there?

    dynamic page:
    <ORACLE>
    DECLARE
    theUser varchar2(30) := portal30.COE_GET_CV_PERSON;
    v_output varchar2(6) := portal30.COE_GET_CV_OUTPUT;
    v_no number;
    v_url varchar2(500):= 'http://oraclecoedb.asiapacific.cgey.com:7779/pls/portal30/PORTAL30.wwv_component_control.run_as_portlet?p_module_id=1934976747';
    BEGIN
    IF v_output = 'WORD' THEN htp.script('startWord('||''''||v_url||''''||');','Javascript');
    ELSE null;
    etc ...
    javascript:
    <script language="JavaScript">
    function startWord(strFile)
    var myApp = new ActiveXObject("Word.Application");
    if (myApp != null)
    myApp.Visible = true;
    myApp.Documents.Open(strFile);
    </script>

  • How do i read a context of text file within Dynamic Page of portal ?

    Dear sir,
    I have a text file in client computer. I hope i can transfer the context words of this text file to oracle database. How do i coding this script in dynamic page of portal?
    Can Oaracle 9ias script read and draw the context of a document. Thank you ver much!
    Ghia Liu

    Great questions, Rik, and I understand how this might seem bizarre. Here's the story... these 2500 files were authored with a built-in authoring tool of our current knowledge management system. This KMS is about to be replaced with a new one and because the new KMS needs content within the <head> tag instead of where it was in the <body> tag and redefined as meta data, I repuposed the content in those files using Dreamweaver and regular expressions.  However, the one remaining <h3> and <p> content is in the middle of the newly tagged meta data and it must be moved from the <head> area and into the <body> area.
    Because these were authored in the built-in KMS authoring tool, there is no style sheet and no, we do not manage our content with a CMS.
    You are correct, if the <h3> and <p> were at the end of the data, I could simply move the </head> and <body> tags, but unfortunately that is not the case.  They are consistenly in the same place in all 2500 files, but in the middle of the data. Following is an example:
    <html>
    <head>
    <title>Title here</title>
    <meta name="XYZ" content="Something here...">
    <h3> Blah blah</h3> <p>More blah blah</p>
    <meta name="123" content="More somthing here">
    <meta name="456" content="More somthing here">
    </head>
    <body>
    </body>
    </html>
    Again, I can find the block using a regular expression <h3>(.*?)</p>, but dont know what to do after that.
    I've been told that perl or grep might do the needed task, but that requires outside resources and I have no budget for that.
    Any suggestions are greatly appreciated.
    thanks,
    Rick

  • Dynamic pages failing on XP

    Here's the situation, I've got a dynamic page with a form that accepts a value to be passed to another dynamic page. The dynamic pages have worked fine on our Windows 2000 clients (IE6), we've just moved to new Win XP clients (IE6 xpsp1) and now the value gets dropped randomly and sends us to our error page. It will not work the first few times and then start working and then not work, it's on and off, no real pattern. I can't figure out what it is, since it's a simple form post, Win XP IE shouldn't have any problems with it, but it does. The code for the two pages is below. Any help would be appreciated.
    Form:
    <html>
    <head>
    ARCS Query
    </head>
    <body bgcolor="#EEFFEE">
    <p>
    <center>
    <table border="0" cellspacing="0" cellpadding="2">
    <tr bgcolor="ccffcc">
    <th>Requisition #</th>
    </tr>
    <tr bgcolor="ffffcc" align="center">
    <td>
    <form method="post" action="custom_dsdct_app.ctdsd_dyn_arcs_query.show">
    <input name="p_arg_names" type="hidden" value="p_doc_num">
    <input name="p_arg_values" size="16" maxlength="16" value="">
    <input type="submit" value="Query">
    </form>
    </td>
    </tr>
    </table>
    </center>
    </body>
    </html>
    Report (shortened):
    <html>
    <ORACLE>
    declare
    thisnsn varchar2(20);
    dvds integer;
    cnt integer;
    statuscodes varchar2(500);
    crlf varchar2(2) := chr(13) || chr(10);
    begin
    statuscodes := '';
    select count(*) into cnt
    from arcs1@ctwhsdblink
    where doc_nr = upper(:p_doc_num);
    if cnt = 0 then
    htp.p('<META HTTP-EQUIV="Refresh"');
    htp.p(' CONTENT="0;URL=custom_dsdct_app.ctdsd_dyn_ircs_query.show?p_arg_names=p_doc_num&p_arg_values='||:p_doc_num||'">');
    htp.p('</head>');
    htp.p('<body bgcolor="#eeffee">');
    htp.p(:p_doc_num ||' not found; switching to Inactive Requisition file');
    htp.p('</body>');
    htp.p('</html>');
    else
    htp.title( 'ARCS Query ' || substr(upper(:p_doc_num),1,6) || '-' || substr(upper(:p_doc_num),7,4) || '-' || substr(upper(:p_doc_num),11) );
    When it doesn't work, the p_doc_num= <blank>, telling me that the value is getting dropped somewhere.

    Yes.
    I assume you want to SELECT some data from the remote table in order to build the dynamic page? Set up a db link to the remote database and then refer to the table you want by using USER.TABLE@DBLINK.

  • Dynamic pages with WebCenter Sites CSElements

    We are using the benefits of WebCenter Sites 11g regarding the possibilities of create the templates and the final user be able to compose the the pages. By the other hand, we have the necessity to create dynamic pages with business logic and interaction with database or web-services with WebCenter Sites templates. We expect to be able to embed these dynamic pages inside CSElements. With all of this in mind, what is the best approach? I'd like to know if our solution to use the Spring 2.5 + JPA 2 is a good a approach to reach our necessity/requirement or WebCenter Sites 11g has another better way to do that.

    You can add your own business logic to CSElements, or create your own tag libraries and add your logic there. If you're using a framework like the GSF you can call an action from your element as well. In all cases, you are free to use whatever tools you like to help you implement your business logic (provided that it is compatible, which you've already learned about. :-). Just be careful that you don't use the same database connection pool that Sites uses or you may run out of connections. Also, pay attention to how you are caching your pages and pagelets when you are calling external services or accessing external resources.
    Regards
    Tony

  • Dynamic Pages: how to overide the default format returned from the oracle query.

    When writing a dynamic page, portal always displays any return from a database query in a default format or grey background table:
    <TABLE border="0" cellspacing=0 cellpadding=2 style="background-color:#E0E0D0">
    <TR>
    <TH ALIGN="LEFT" style="background-color:#C0C0A0" > </TH>
    </TR>
    <TD ALIGN="LEFT" valign="TOP" WIDTH="0">
    Is there anyway to change this or this how the
    function
    PORTAL30.wwv_render_report.show always works?
    Thanks in advance!

    James,
    Please see posting http://technet.oracle.com:89/ubb/Forum70/HTML/000073.html.
    Just a reminder, please search the forum before posting your question. It's quite likely that someone else has already asked the same question.
    Regards,
    Jerry
    null

Maybe you are looking for

  • What's the best game controller for a MacBook Pro?

    I have a mid-2012, non-Retina, 13" MacBook Pro with a 2.5 Ghz i5 and 8 GB of RAM. My current OS is 10.9.1. I've played Starcraft 2 for some time without any problems, but there are a few newer games on the Mac App Store that look like they'd be no fu

  • Changes History Report in Fire Fighter

    Hi, We have assigned FF ID to end user. By using that FF ID,user did some changes. Ex: End user has used SU01 transaction and he has assigned SAP_ALL to his own id and some other users via FF ID. When we checked the Log Reports in FF 5.3, we are able

  • Does Repetitive Manufacturing Supports CO-Product Costing as well.

    Please can any one answer whether Repetitive Manufacturing  supports the C-Products costing. I have 6 Co-Products coming out of my process and cost of all should be calculated and shall be taken as benefit for Main product costing. Thanks and Regards

  • Spreadsheet probem with thousand seperator in excel

    Hi , I have spread sheet table in my dashbaord , This spread sheet table is linked with a radio button having three labels buttons. My first radio button selection contains negative values . These negative values are shown in red colour using thousan

  • Recover Shared Services - 9313

    Hi there, Is there a way to recover Shared Services if the backup of Shared Services SQL repository has been accidentally deleted but I still have the backup of the following files on the file system? Domain.xml slide.properties CSS.xml WorkflowEngin