Passing parameter value via href in a servlet to another servlet

Hi
I have this issue with passing a value from one servlet to another servlet. the situation is is this.
i have a servlet tstret.java which say..pulls out all the employee_id(s) from a table and displays it as hyperlinks( using the anchor tag.).
now when i click on the hyperlink say T001 , The control is passed to another servlet which pulls out all the info about employee id T001.
the problem i have is in the tstret.java servlet. i am passing the employee_id as a parameter in the href path itself as shown below.
out.println("<td ><a href=\"http://localhost:7000/servlets-examples/accept_requisition.html?id="+[u]rs.getString(1)[/u]+"\" ><em>"+rs.getString(1)+"</em></a></td>");now if you see the code i am trying to pass the employee_id by attaching it to a variable id and passing it with the url, it gives me a sql exception saying no data found .
if i pass a string say "rajiv" which i defined at the begining of code then i am able to pass it to the next servlet/html.
the full code is as follows
file : tstret.java
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class tstret extends HttpServlet
     PrintWriter out;
     String[] employee_identity;
     public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
          try
          response.setContentType("text/html");
          out = response.getWriter();
          String session_name="SHOBA";//request.getParameter("session_name");
          out.println("<html><head><title> My Jobs </title></head>");
          out.println("<body bgColor=#ececec leftMargin=10>");
          out.println("<table align=center>");
          out.println("<tr align=center><td><img src=\"http://localhost:7000/servlets-examples/images/topbar.gif\"></td></tr>");
          out.println("<td>Jobs for : "+session_name+"</td>");
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          Connection connection = DriverManager.getConnection("jdbc:odbc:tst","scott","tiger");
          Statement statement=connection.createStatement();
          ResultSet rs= statement.executeQuery("select req_no from require_info where sent_to = " + "\'" + session_name + "\'");
//          out.println("Jobs for : "+session_name);
          while(rs.next())
          /*     String[] get_id={"shoba","ping","ting","ving"};
               for(int i=0;i<get_id.length;i++)
               out.println(" <tr align=\"center\">");
          //     out.println("<td><a href=\"servlet/testhyper\" name="+rs.getString(1)+"><em>"+rs.getString(1)+"</em></a></td>");
               out.println("<td ><a href=\"http://localhost:7000/servlets-examples/accept_requisition.html?id="+rs.getString(1)+"\" ><em>"+rs.getString(1)+"</em></a></td>");
               out.println("</tr>");
               out.println("<br>");
          }catch(SQLException se){out.println("sqlexception"+se);}
          catch(ClassNotFoundException ce){out.println("cnfexception"+ce);}
          out.println("</table></body></html>");
     public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
          doGet(request, response);
          Can some one help me and see if there is anything i missing or doing wrong.
thanks in advance

Try storing the id at the top of the loop, then using that for the URL and the link text, instead of calling rs.getString(1) twice:
  while(rs.next())
    String emp_id = rs.getString(1);
    out.println(" <tr align=\"center\">");
    out.println("<td ><a href=\"accept_requisition.html?id="+emp_id+"\" ><em>"+emp_id+"</em></a></td>");
    out.println("</tr>");
    out.println("<br />");
  }

Similar Messages

  • To pass parameter values to the object reference of action step in sequence file of teststand programatically using C#.

    //Initialize the Engine
                EngineClass myEngine = new EngineClass();
                myEngine.LoadTypePaletteFilesEx(TypeConflictHandlerTypes.ConflictHandler_Prompt, 0);
                Step myStep = myEngine.NewStep(AdapterKeyNames.DotNetAdapterKeyname,StepTypes.StepType_Action);
                myStep.Name = "object";
                DotNetModule dotnetmodule = myStep.Module as DotNetModule;
                dotnetmodule.SetAssembly(DotNetModuleAssemblyLocations.DotNetModule_AssemblyLocation_File,@"C:sequence.dll");
                dotnetmodule.ClassName = "CN";
                dotnetmodule.MemberType = DotNetModuleMemberTypes.DotNetMember_GetProperty;
                dotnetmodule.MemberName = "ISI";  
    mySequence.Locals.NewSubProperty("object", PropertyValueTypes.PropValType_Reference, false, "", 0);        
    Sequence mySequence = myEngine.NewSequence();
                mySequence.Locals.NewSubProperty(varName, PropertyValueTypes.PropValType_Reference, false, String.Empty, 0);
    mySequence.InsertStep(myStep, 0, StepGroups.StepGroup_Main);
                SequenceFile seqFile = myEngine.NewSequenceFile();
                seqFile.InsertSequence(mySequence);
    seqFile.Save("C:\\mySeq.seq");
    I have done this,dynamically creating a sequence file in teststand programatically through c#.
    Problem is
    1.I created an action step and object Reference variable for the step, but i am not able to pass  parameter values to the objectReference 
    2.I am not able to load the sequence in to the main Sequence of the sequence file in the teststand. How can I do these two things.

    Hi,
    have you ever followed on my Links ?!?!?
    If not please jump to this one
    http://forums.ni.com/ni/board/message?board.id=330&thread.id=26880 
    and read the the answer from Mannoch
    starting with this words:
    Anthony -
    Currently, functionality for retrieving the Metadata Token for a class constructor or member is not fully provided in the TestStand .NET Adapter API. The DotNetModule.GetConstructorMetadataToken() and DotNetModule.GetMetadataToken() methods only return the correct Metadata Token when the member/constructor prototypes have already been loaded. Thus, in the case of your code, when you call DotNetModule.GetMetadataToken(), the method is returning -1 because the member prototype for the Step you are referring to has not yet been loaded.
    That means have to do a workaround for your stuff.
    Juergen
    =s=i=g=n=a=t=u=r=e= Click on the Star and see what happens :-) =s=i=g=n=a=t=u=r=e=

  • Passing Parameter  values

    Hi,
    Iam trying to print a crystal report, but it is not prompting me to pass the parameter values.
    i want  user to pass parameter values.
    Iam using VB.Net code to generate the reports.
    Could plz help me
    Thanks
    Ravi

    assuming v_seqprocess_id takes the process_id, I'd probably go with something like:
    cursor sum_cur(p_process_id number) is
    select sum(cheque_amt), sum(balance)
    from   table
    where  process_id = p_process_id;and call the cursor passing v_seqprocess_id into it.
    That's if I had to do extra processing on top of getting the values, etc.
    Otherwise, I'd go with:
    insert into table2
    select sum(cheque_amt), sum(balance)
    from   table
    where  process_id = v_seqprocess_id;Message was edited by:
    Boneist
    Added in the insert version

  • Calling a servlet from another servlet?

    Hi
    I would like to know that how can I call one Servlet from another Servlet. I have tried getServlet() method of ServletContext but it has been deprecated. I want to call a specific method of the other Servlet, is there any other way?
    Thanks

    I should have seen it from your previous post :(
    Code of Servlet 1:
    public void doGet(HttpServletRequest request,
    HttpServletResponse response) throws
    ServletException, IOException
    RequestDispatcher rDispatch = null ;
    rDispatch = getServletConfig
    ().getServletContext().getRequestDispatcher
    ("/Servlet2") ;
    rDispatch.forward(request, response) ;
    System.out.println("Back in 1");
    I assume Servlets 1and 2 are in same web app and you've mapped your servlet2 to /Servlet2 in your web.xml
    make it as
    rDispatch = request.getRequestDispatcher("/Servlet2");
    rDispatch.forward(request,response);
    Nothin's wrong with yer servlet2

  • Servlets calls another servlet

    servlets calls another servlet ...how to do it ? whats the efficient way ?
    class myservlet extends HttpServlet
    // i want to call a servlet situated at another machine in the LAN whose, IP // 123.123.45.66 (say)
    the servlet which is situated in another machine
    remoteservlet extends HttpServlet
    doPost(...)
    how do i call ?
    few of the way i found by searching the forum.
    but i would like to know the good way in my situation.

    res.sendRedirect("LoginServlet?="+req.getRequestURI())
    i tested this. it does not work.
    my servlet wants to call another servlet which is
    active on IP xxx.ddd.ffff.zzz in the LAN .
    whats the way ?
    res.sendRedirect("http://xxx.ddd.ffff.zzz:<portnumber>/<context_name>/<servlet_regd_name">);The request and response objects are generated anew for that Servlet. There's no two ways about it, IMO.
    cheers,
    ram.

  • Different ways to invoke a servlet from another servlets?

    Hello,
    I am a bit confused today. I was thinking about all the ways by which I can invoke a servlet from another servlets. I know it can be done by creating an instance of the 2nd servlet in the 1st one. Is there any other way? such as say.... RequestDispatcher perhaps?
    Here is an example to illustrate my point. I have a login.jsp which submits to login.do. login.do search through database and first authenticate email and then the corresponding password. Now its time for displayGame.do. So here how do i do? if it was a displayGame.jsp then i could have used Redirection or Forward but when it is servlets? Can I still go for Redirection or Forward??
    Thank you for reading this confused post. :-)

    if it was a displayGame.jsp then i could have used Redirection or Forward but when it is servlets?Question: do you know what a JSP becomes when you first run it?
    Answer: a servlet.
    So yes, you can use a RequestDispatcher to forward/redirect to a servlet OR a JSP, whatever you like.

  • Servlet calling another servlet in diff J2EE app

    Hi.
    Can a servlet load another servlet in different J2EE application ?
    If so, could you show me how ?
    Code example would be much appreicated.
    Thanks.

    Call the other servlet's absolute url thro' urlconnection.
    URL url=new URL("http://server:port/servlet/otherservlet");
    InputStream in=url.openConnection();
    Other servlet will be loaded. Read response if you want to.

  • How can Servlet includel another servlet?

    I want to have a servlet calling another servlet in the middle of code... how to do that ?
    eg
    Servlet 1 print
    line1..
    line2...
    <-- here include Servlet2 to print line 3 and line 4 -->
    then servlet 1 continue to print
    line 5
    line6

    request.getRequestDispatcher("/servlet/MyServlet").include(request, response);

  • Syntax to pass parameter value to jsp using href in out.println

    Hi,
    I have the URL in the form as mentioned below:
    <a href="b2c/marketing/showDocDetail.jsp"> <%=doc_no%></a>
    I've created the hyperlink using href tag to the document number in the jsp using the below syntax.
    <% String a1 = "Document ";
           String a2 = "<a href=\"";
           String a3 = "marketing/showDocDetail.jsp\">";
           String a4 = doc_no;
           String a5 = "</a>";
    out.println(a1a2a3a4a5);
    %>
    When clicked the doc_no is passed to backend RFC and export parameter is retrieved to result.jsp where values along with doc_no are displayed.
    the value after clicked is not being passed to action.java class that does the retreival.
    Needful, backend class, bom, entry in config.xml is all maintained.
    Please help me out with the syntax to pass the parameter value into java class

    Hi Bharathi,
    try below.
    <%
           String a1 = "Document ";
           String a2 = "<a href=\"";
           String a3 = "marketing/showDocDetail.do?docNo=";
           String a4 = doc_no;
           String a5 = " \">";
           String a6 = doc_no;
           String a7 = "</a>";
    out.println(a1+a2+a3+a4+a5+a6+a7);
    %>
    I assume doc_no is java variable contains value of document number
    Now create action entry in config.xml file. Suppose "actionDoc.java" class process it.
    <action path="/marketing/showDocDetail" type="com.xyz.actions.actionDoc">
                   <forward name="success" path="/marketing/showDocDetail.jsp"/>
                   <forward name="error" path="/marketing/showDocDetail.jsp"/>
    </action>
    We are passing parameter docNo=doc_no to action class actionDoc.java in this class you can retrieve request parameter docNo from request object and then process it as you want.
    Let me know if you face any problem or error.
    eCommerce Developer
    Edited by: Ecommerce Developer on Nov 9, 2009 8:35 AM

  • Passing parameter values to powershell function from batch file

    Hello ,
       I haven't used powershell for a while and getting back to using it. I have a function and I want to figure out how to pass the parameter values to the function through batch file.
    function Check-FileExists($datafile)
    write-host "InputFileName : $datafile"
    $datafileExists = Test-Path $datafile
    if ($datafileExists)
    return 0
    else
    return -100
    <#
    $datafile = "C:\Dev\eMetric\PreIDWork\PreIDFiles\SampleInputFile_011.txt"
    $returncode = Check-FileExists -datafile $datafile
    Write-Host "ReturnCode : $returncode"
    $datafile = "C:\Dev\eMetric\PreIDWork\PreIDFiles\SampleInputFile_01.txt"
    $returncode = Check-FileExists -datafile $datafile
    Write-Host "ReturnCode : $returncode"
    #>
    The above code seems to be work when I call it. But when I try to call that script and try to pass the parameter values, I am doing something wrong but can't figure out what.
    powershell.exe -command " &{"C:\Dev\eMetric\PreIDWork\PowerShell\BulkLoad_Functions.ps1" $returncode = Check-FileExists -datafile "C:\Dev\eMetric\PreIDWork\PreIDFiles\SampleInputFile_01.txt"}"
    Write-Host "ReturnCode : $returncode"
    $file = "C:\Dev\eMetric\PreIDWork\PreIDFiles\SampleInputFile_01.txt"
    powershell.exe -file "C:\Dev\eMetric\PreIDWork\PowerShell\BulkLoad_Functions.ps1" $returncode = Check-FileExists -datafile $datafile
    Somehow the I can't get the datafile parameter value being passed to the function. Your help would be much appreciated.
    I90Runner

    I am not sure about calling a function in a script like how you want to. Also I see you are setting the values of the parameters, this is not needed unless you want default values if nothing is passed. The values for the parameters will be passed via the
    batch file. So for me the easiest way is as indicated.
    param
    [string]$DataFile
    function Check-FileExists($datafile)
    write-host "InputFileName : $datafile"
    $datafileExists = Test-Path $datafile
    if ($datafileExists)
    return 0
    else
    return -100
    Write-Host "Return Code: $(Check-FileExists $DataFile)"
    Then you create a batch file that has
    start powershell.exe
    -ExecutionPolicy
    RemoteSigned -Command
    "& {<PathToScript>\MyScript.ps1 -DataFile 'C:\Dev\eMetric\PreIDWork\PreIDFiles\SampleInputFile.txt'}"
    Double click the batch file, and it should open a powershell console, load your script and pass it the path specified, which then the script runs it and gives you your output
    If you find that my post has answered your question, please mark it as the answer. If you find my post to be helpful in anyway, please click vote as helpful.
    Don't Retire Technet

  • Passing parameter value back from Child region [BTF] to Parent

    Hello,
    I am using Jdev 11.1.1.6. I have a use-case where I need to pass value back from child taskflow to parent.
    Let me elaborate the use-case:
    I have a main page which is implemented as BTF with fragment. This main page contains a child region [again a BTF with fragment].
    I am passing a parameter value from parent page to it's region using taskflow input parameter. Now value for one of the parameter changes inside child/region taskflow and I need to make this value available to main page taskflow.
    This parameter is just pageFlowScope variable, so basically not coming from any VO.
    I know that taskflow can return value via return parameter but I don't know if that is true for taskflow implemented as region in a page.
    Is it possible to communicate the pageFlowScope variable value from child region to it's parent page?
    Thanks,
    Jai

    Hi Frank,
    I tried to follow steps mentioned in your post but encountered error that "The scope of the referenced object #{viewScope.parentBeanName} is shorter than referring object childBeanName"
    Let me explain what I did:
    1. Created a bean parentBeanName in viewScope
    2. Created another bean childBeanName in pageFlowScope
    3. In ChildBean.java, created a private property parentBeanProperty for Class [ParentBean] and generated the accessors
    4. Created a input parameter in region TF as:
    <input-parameter-definition id="__28">
          <name id="__27">parentBeanParam</name>
          <value>#{pageFlowScope.childBeanName.parentBeanProperty}</value>
          <class>ParentBean</class>
          <required/>
    </input-parameter-definition> 5. Since my mainPage contains child page as region. I added parameter to mainPageDef to pass it to child TF, like this
    <parameter id="parentBeanParam" xmlns="http://xmlns.oracle.com/adfm/uimodel"
                       value="#{viewScope.parentBeanName}"/>6. Introduced a client method in childBeanName that is called from UI. There I am retrieving parentBeanParam instance from pageFlowScope and call setter method of my variable inside ParentBean.java
    7. Ran the page but encountered the error.
    Did I miss something somewhere?
    Initially I got error where #{viewScope.parentBeanName} returned NULL due to parentBeanName not instantiated. I created a variable in mainPageDef with it's default value pointing to #{viewScope.parentBeanName.variableName}, which I guess will instantiate the bean in viewScope.
    After this I got error of shorter scope. It never reached to code in Step 6 during execution cycle.
    FYI - My application is based on UIShell and essentially a one page application. Main page referred above is also a jsff based on BTF. I hope, this should not affect this implementation but I thought of at least mention it.
    Thanks,
    Jai
    Edited by: Jai Om on Dec 18, 2012 2:38 PM

  • Passing parameter values to another report using URL actions (reportserver)

    Hi guys,
    I have two reports that I link with eachother. For report A - B everything works perfect. When I try to do the same for report B - A it works, but the parameter value is not filled in.
    =Iif(
    Parameters!PAR_LinksEnabled.Value, 
    Globals!ReportServerUrl & "?" & Replace(Globals!ReportServerUrl, "_vti_bin/ReportServer", "")
    & "Reporting/POS Reporting/Reports/POS Report.rdl&POS_ID=" & Parameters!CONNECTION_ID.Value & "&POS_LANG=" & Parameters!POS_LANG.Value & "&PAR_Date=%5BDate invoice%5D.%5BBonus Calendar - Week%5D.%5BBonus
    week of year%5D.%26%5B" & Left(Parameters!YEAR_WEEK.Label, 4) + "%5D%26%5B" & CInt(Right(Parameters!YEAR_WEEK.Label, 2)) & "%5D",
    Nothing
    Even tho I specify the parameter he has to pass through, the report opens with parameter period : <select a value>. Anyone has an idea why such behaviour happens?
    Thanks!

    Hi Yvanlathem,
    Per my understanding that you want to use the expression above to conditional add the hyperlink to pass the value to the parameter of anpother rreport via the URL in the SharePoint integrated mode report server, right?
    I have check the expression you have provided and the issue can be caused by the wrong way you have write the expression to pass the parameter, please check detais information below to make sure you have pass parameter in the URL correctly:
    Please modify the expression to below structure :
     =Iif( Parameters!PAR_LinksEnabled.Value="Enabled", "URL",Nothing)
    I saw you have use expression like "&POS_ID=" & Parameters!CONNECTION_ID.Value & "" which is incorrect, we need to set a report parameter within a URL, use the following syntax:
     parameter=value(not Value=Parameter)
    If you are using the following syntax like "Parameter1=Parameter2", both parameters and from different report, if you have add the "Go to URL" action from  report2 to Report1, please make sure Parameter1 is from the Report1
    and Parameter2 is from Report2, change the order will not work
    More detail information:
    Pass a Report Parameter Within a URL
    So, In your scenario, please make sure the value is from one report's field (POS_ID) and the the parameter(CONNECTION_ID) is from another report (e.g:"&CONNECTION_ID=" &Fields!POS_ID.Value &"")
    Similar thread for your reference:
    SSRS 2012 Drill Through report cascading Parameters not refreshing
    If you still have any problem, please feel free to ask.
    Regards,
    Vicky Liu
    Vicky Liu
    TechNet Community Support

  • How can i pass parameter values from html to a shell script

    Hi Guys...
    I had a requirement where i need to execute a sql statement and print the output in HTML page. This report has parameters to enter. So i created a HTML form which accepts parameters. When the submit button is pressed, the action tag in the form invokes unix shell script file. It will open sqlplus and run the sql script file .sql and print the output in the HTML page.
    sql script contains the query and some set options which prints the output in HTML page. Like "SET MARKUP HTML ON"... The query has some parameters like "select * from emp where empno = &&empnumber. I will use the same name "empnumber" while created the HTML parameter form like " <input type = "text" name="empnumber" size="10" align="left">.
    user sees this parameter form and enters some value in to that empno text box.
    My question is how can i catch these parameter values in a shell script and pass it to the sql script to execute it.
    Help Appreciated
    Thanx

    This is a A Bad Idea (tm). This type of CGI processing is old and were (and still is) full of security holes. Very easy to inject stuff (Unix commands and SQL) into it.. To get those parameters into SQL*Plus requires using Unix shell commands to process it - and something like a backquote allows all kinds of nasty stuff to be injected. The Unix shell was never designed to be used as a secure CGI environment.
    There are far better and far superior alternatives. Perl (with Perl_DBI) and PHP (using Zend Core for Oracle) come to mind as web scripting languages.
    Even easier is using HTMLDB. Very few moving parts. Is free. Supports Oracle 9.2 and 10G.

  • How to pass parameter values to a customer exit web item (WAD)

    Hi gurus,
    I have a wad with a data provider and a filter panel filtering that dp by using a variable. There is also a customer exit which saves the values of that variable into a z table.
    How can I pass the values of the filter panel to the customer exit web item?
    Thanks in advance,
    Rob

    Can you clarify your scenario? Which is the case you're talking about?
    1) You want to pass a parameter from OmniPortlet to a PL/SQL procedure.
    2) You want to pass a parameter from a PL/SQL procedure to OmniPortlet.
    In both cases the most obvious way of doing it is through request (URL) parameters.
    Render a link in your portlet (either in OmniPortlet or using PL/SQL) that invokes a portal page, containing the other portlet.
    Both OmniPortlet and PL/SQL allow you to wire and access page parameters.
    Take a look at the Using Parameter and Events section of the Portal User's Guide and the Parameters and Events section of the Portal Developer's Guide.
    Hope this helps,
    Peter

  • Pass Parameter value through hyperlink?

    Hello and a Happy New Year to everyone!
    I have an ASP.NET web application that I am making. I was wondering if it were possible to pass a value to a CR that has a parameter value.
    In my example, I have a report called rptLicenseReport. This report has a parameter value of FileNo. Which comes from the field File No in the table License Applications in the database (Access) . Of course, CR does its own curly bracket thing for the parameter... but I was wondering if it was possible to have a hyperlink on my main page that points to the report.aspx page (which holds the report viewer, and the report as a whole) while passing the File Number.
    Essentially I would like the link to look like : www.urllinkhere.com/report.aspx?FileNo=6
    and when clicked that path would open the report.aspx page and pass the FileNo into the report. I have tried to make the report and have the link pass just like that but the report comes back with an error stating that there is no parameters chosen/given (thinking off-hand, error is something like that).
    Any help with this problem would be greatly appreciated. For those interested my report is in VB language, not C#.
    Much Thanks!
    --Matt
    Edited by: Matthew Gonzalez on Jan 2, 2009 8:50 AM

    AG,
    Much thanks for the code, I modified it to fit my VB environment and it worked well. What I have it doing is utilizing some of the earlier information on the http requerying having the labelID in the URL get posted to a label. Using your code I then have the label ID set as the parameter source. This worked fine and it now populates the report with the ID of the earlier record selected.
    Here's my code as an FYI and future reference:
    Protected Sub LabelReference (ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load
            lblID.Text = CInt(Request.QueryString("FileNo"))
        End Sub
        Protected Sub ReportDocument(ByVal sender As Object, ByVal e As System.EventArgs) Handles CrystalReportSource1.DataBinding
            Dim rdoc As New ReportDocument
            Dim rptValue As Object
            rptValue = CInt(lblID.Text)
            rdoc.Load(Server.MapPath("~/files/rptLicenseView.rpt"))
            rdoc.SetParameterValue("FileNo", rptValue)
            CrystalReportViewer1.ReportSource = rdoc
        End Sub

Maybe you are looking for