简体   繁体   English

如何将文本字段值从jsp传递给java类

[英]How to pass text field value from jsp to java class

How to pass text field value from jsp to java class. 如何将文本字段值从jsp传递给java类。

my .jsp code is 我的.jsp代码是

<html>
<head></head>
<body>
    <FORM>
        Please enter your name:
        <INPUT TYPE="TEXT" NAME="text1">
        <BR>
        <INPUT TYPE="SUBMIT" value="Submit">
    </FORM>
</body>
</html>

my .java class code is 我的.java类代码是

here in string str i need to get the textfield value. 这里在字符串str我需要获取文本字段值。

class sample{

    String str="";    //C:/check/svntes

    File exportDir = new File(str);
    if (exportDir.exists()) {
        SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.IO_ERROR, "Path ''{0}'' already exists", exportDir);
        throw new SVNException(err);
    }
    exportDir.mkdirs();
}

To passing value from JSP to Java, you need java Servlet . 要将值从JSP传递到Java,您需要java Servlet

Call servet from form tag and then get value using request.getParameter("your value") api of request object. form标签调用servet,然后使用request对象的request.getParameter("your value") api获取值。

JSP Page: JSP页面:

<form action="HelloServlet" method="POST"> 
  Please enter your name:
 <input type="text" name="text1" id="text1">
 <br>
 <input type="submit" value="Submit">
</form> 

Servlet : Servlet:

public class HelloWorld extends HttpServlet { 
protected void doPost(HttpServletRequest request, HttpServletResponse response) 
 throws ServletException, IOException { 

 // reading the user input  
 String text1= request.getParameter("text1"); 
 }
}

Hmm .. let's assume how your jsp & java file interact with each other. 嗯..让我们假设你的jsp和java文件是如何相互作用的。 Correct if im wrong. 纠正如果我错了。

A.jsp file A.jsp文件

<html>
<head></head>
<body>
<FORM  ACTION="B.JSP" METHOD="POST"> //edited part
        Please enter your name:
        <INPUT TYPE="TEXT" NAME="text1">
        <BR>
        <INPUT TYPE="SUBMIT" value="Submit">
    </FORM>

</body>
</html>

B.JSP B.JSP

<jsp:useBean id="sample" scope="page" class="com.home.file.sample" /> // sample is java file name

String name = request.getParameter("text1");
int iRowAffected = 0;   

//-------now pass parameter "name" to your sample java file

sample.function_name("name");

Sample.java Sample.java

public class sample
{

   public int function_name(String NAME)
   { 

     String str = NAME;

     File exportDir = new File(str);
     if (exportDir.exists()) {
         SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.IO_ERROR,        "Path ''{0}'' already exists", exportDir);
         throw new SVNException(err);
     }
     exportDir.mkdirs();

     //continue with your coding 

   }

}

Is your java class a servlet? 你的java类是servlet吗?

Because then you need to post to your servlet like this: 因为那样你需要像这样发布到你的servlet:

<form action="ServletName" method="GET">
    Please enter your name: 
    <input type="text" name="text1" />
    <br />
    <input type="submit" value="Submit" />
</form>

And then in your servlet you can get the string value like this: 然后在您的servlet中,您可以获得如下字符串值:

String str = request.getParameter("name");

name.jsp name.jsp

<FORM  action="/submitName" method="get">
        Please enter your name:
        <INPUT TYPE="TEXT" NAME="text1">
        <BR>
        <INPUT TYPE="SUBMIT" value="Submit">
    </FORM>

First of all, in your above jsp file two things are missing action and method (optional, by default it takes "get") attributes. 首先,在上面的jsp文件中,有两件事缺少动作方法 (可选,默认情况下需要“get”)属性。

Now to get the input value in you java class, you need to write a Servlet class and configure it in the web.xml with a url mapping "/submitName" . 现在要获取java类中的输入值,您需要编写一个Servlet类,并使用url映射“/ submitName”web.xml中对其进行配置。

MyServlet.java MyServlet.java

// Import required java libraries

// Extend HttpServlet class
public class MyServlet extends HttpServlet {

  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
      String name = request.getParameter("text1"); //should be same name as form input name
      System.out.println(name);
  }           
}

web.xml will be as follows, web.xml将如下,

<web-app>  

<servlet>  
<servlet-name>myservlet</servlet-name>  
<servlet-class>MyServlet</servlet-class>  
</servlet>  

<servlet-mapping>  
<servlet-name>myservlet</servlet-name>  
<url-pattern>/submitName</url-pattern>  
</servlet-mapping>  

<welcome-file-list>  
    <welcome-file>name.jsp</welcome-file>  
</welcome-file-list>  

</web-app>

I got answer by this way..Its working fine. 我通过这种方式得到答案..它工作正常。

my.jsp code:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>


</head>
<body>
<form >
Enter the word: <input type="text" name="word">
<input type="submit">

<%@ page import = "dem.hashmap"%>  <!-- //importing java class -->
<% 
hashmap hm = new hashmap();  /*  creating reference for my java class */
String inputvalue = request.getParameter("word"); 
String output = hm.dircreation(inputvalue);    /* calling java method */
out.println(inputvalue);
%>

</body>
</html>

my hashmap .java class: 我的hashmap .java类:

package dem;

import java.io.File;


public class hashmap {

String nav;


public String dircreation(String dir)
{

    System.out.println("The Value is--------->"+dir);
    boolean success = false;

    File directory = new File(dir);
    System.out.println("1....The Value is--------->"+dir);
    if (directory.exists()) {
        System.out.println("Directory already exists ...");

    } else {
        System.out.println("Directory not exists, creating now");

        success = directory.mkdir();
        if (success) {
        System.out.printf("Successfully created new directory : %s%n", dir);
        } else {
            System.out.printf("Failed to create new directory: %s%n", dir);
        }
    }

    return nav;

}

 }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM