【问题标题】:How to call a function with parameters in a java file from a jsp file?如何从jsp文件中调用带有java文件中参数的函数?
【发布时间】:2013-07-22 05:48:10
【问题描述】:

我有 emp.java 文件,方法为

    boolean create(int empid,String empname,int supid );

我有register.jsp 页面

 <form name="register" action="#" method="post">
        <table>
                                <tr>
                                    <td>Employee Id</td>
                                    <td><input type="text" name="empid"
                                        placeholder="Enter Employee Id " size="30"></td>
                                </tr>
                                <tr>
                                    <td>Employee Name</td>
                                    <td><input type="text" name="empname"
                                        placeholder="Enter Employee Name " size="30"></td>
                                </tr>
                                <tr>
                                    <td>Supervisor Id</td>
                                    <td><input type="text" name="sup_id"
                                        placeholder="Enter Supervisor Id" size="30"></td>
                                </tr>
                                <tr>
                                    <td colspan="2" align="justify"><input type="submit"
                                        value="Submit"></td>


                                </tr>
                                </table>
    </form>

我的要求是当我单击提交按钮时,必须使用在register.jsp 页面中输入的参数调用emp.create().... 有什么办法可以解决这个问题吗? 为了达到我的要求,我必须改变哪些必要的事情!

或者有什么方法可以将我的价值观传递给员工-->create(employee e)

....
{
 callableStatement = openConnection().prepareCall("{call insert_employee(?,?,?)}");
                callableStatement.setInt(1,employee.getempid());
                callableStatement.setString(2,employee.getempname());
                callableStatement.setInt(3,employee.getsupid());    
}
...

作为object(*) 单击提交时的所有值?

【问题讨论】:

    标签: java jsp jstl jsp-tags


    【解决方案1】:

    您需要一个 servlet 类来调用您的 emp.java 类的方法。 servlet 类应该作为您对 register.jsp 的操作。在 servlet 中,您可以执行 request.getparameter/attribute() 并使用它们的名称/id 收集输入类型的值。

    将这些值传递给您想要使用的任何方法或可调用对象。如果您想在处理后留在同一个 jsp 上,那么您需要使用 ajax。

    【讨论】:

    • 您可以为此使用任何 servlet 示例。试试这个问题中的那个。更改参数以从您的请求中获取值。 stackoverflow.com/questions/10981191/…如果这对你有帮助,请投票或接受作为答案。
    • 这是基本的 servlet 示例。 datadisk.co.uk/html_docs/jsp/jsp_mvc_tutorial.htm
    • 谢谢你..但是有没有办法直接从jsp页面调用带有参数(字符串,字符串)的函数!!不使用servlet..
    • 你可以写成文字。创建您的 java 类的对象并调用该方法并使用 getparameter 传递参数,但我不确定您将如何在提交时调用它。
    【解决方案2】:

    将此添加到 RegisterDao.jsp 文件中

    <%          Object function_name(call the function of the callable stmt) = new Object();
            int empid = Integer.parseInt(request.getParameter("empid"));
            String empname = request.getParameter("empname");
            int supid = Integer.parseInt(request.getParameter("supid"));
    
            int status = function_name.method(empid, empname, supid);
    
            if (status > 0) {
                //out.println("Employee is created");
        %>//jsp code to display if he is te employee
    <%
            session.setAttribute("session", "TRUE");
            } else {
                out.println("Creation failed");
            }
        %>
    

    【讨论】:

      【解决方案3】:

      创建一个 bean,它应该具有在注册页面中接受输入的字段的 getter 和 setter 方法 并在 bean 内部创建你的方法

      boolean create(int empid,String empname,int supid );
      

      现在你的表单动作应该调用另一个jsp,它应该在头部有这些方法

      <jsp:useBean id="" class=""></jsp:useBean>
      

      【讨论】:

      • 我试过这种方式!!但我不能让它工作!我将保留粘贴在链接中的代码并发送给您
      • &lt;%@page import="bean.LoginDao"%&gt; &lt;jsp:useBean id="register" class="bean.LoginDao" scope="session"&gt; &lt;jsp:setProperty property="*" name="register" /&gt;
      • 但我无法检索这些值..为了调用LoginDao { public static boolean validate(String email,String pass){...}
      • @user2561626 不需要写 因为你已经在使用
      • 好吧!但提出的问题是我无法将对象从 .jsp 页面发送到 java 文件..
      猜你喜欢
      • 2019-05-07
      • 2013-09-20
      • 1970-01-01
      • 2013-04-17
      • 2023-03-16
      • 2018-04-14
      • 1970-01-01
      • 1970-01-01
      • 2013-03-16
      相关资源
      最近更新 更多