繁体   English   中英

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

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

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

我的.jsp代码是

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

我的.java类代码是

这里在字符串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();
}

要将值从JSP传递到Java,您需要java Servlet

form标签调用servet,然后使用request对象的request.getParameter("your value") api获取值。

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:

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

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

嗯..让我们假设你的jsp和java文件是如何相互作用的。 纠正如果我错了。

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

<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

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 

   }

}

你的java类是servlet吗?

因为那样你需要像这样发布到你的servlet:

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

然后在您的servlet中,您可以获得如下字符串值:

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

name.jsp

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

首先,在上面的jsp文件中,有两件事缺少动作方法 (可选,默认情况下需要“get”)属性。

现在要获取java类中的输入值,您需要编写一个Servlet类,并使用url映射“/ submitName”web.xml中对其进行配置。

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将如下,

<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>

我通过这种方式得到答案..它工作正常。

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>

我的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