我在页面上有一些选择框、文本框等等,我想将其值传到数据库中进行查询,我准备用java写数据库连接查询,我如何将jsp页面中的查询参数传到java中的select查询中呢?由于准备用struts2,所以必须用struts2的标签传值吗?或者用js传?不知我的想法是否合理,谢谢大家了!

解决方案 »

  1.   

    form提交就好了啊 建议lz先看一些servlet的资料。尽量不要跳过servlet去学习struts或struts2 spring 之类的框架。
      

  2.   

    可以这样做:
    struts2的action类这么写的
    public class TestAction{
      private String myValue;//这里是你要传的值,应该跟表单字段名字一样
      public String execute()throws Exception{
         //这里做你的查询嘛,注:myValue就是表单传过来的值
         return "success";
      }
      public void setMyValue(String myValue){
         this.myValue = myValue;
      }
      public String getMyValue(){
         return this.myValue;
      }
    }
    HTML表单这样写嘛(用struts2的标签库也可以的)
    <form action="这里是上面定义的action的请求路径了" method="post">
     <input type="text" name="myValue"/>
    </form>
      

  3.   

    建一个html,写一个表单就可以了,比如下面是我的html
    <%@ page contentType="text/html; charset=gb2312" %>
    <html>
    <head>
    <title>hello</title>
    </head>
    <body>
          <form name="form1"  action="hello.jsp" method="post">
            &nbsp;&nbsp;&nbsp; 用户名 
            <input type="text" name="userId" size="15" style="BORDER-RIGHT: #ffffff 1px groove; BORDER-TOP: #ffffff 1px groove; FONT: 12px Verdana,Geneva,sans-serif; BORDER-LEFT: #ffffff 1px groove; WIDTH: 100px; COLOR: #000000; BORDER-BOTTOM: #ffffff 1px groove; HEIGHT: 18px; BACKGROUND-COLOR: #DFF1F9">
             密码 
            <input type="password" name="password" size="15" style="BORDER-RIGHT: #ffffff 1px groove; BORDER-TOP: #ffffff 1px groove; FONT: 12px Verdana,Geneva,sans-serif; BORDER-LEFT: #ffffff 1px groove; WIDTH: 100px; COLOR: #000000; BORDER-BOTTOM: #ffffff 1px groove; HEIGHT: 18px; BACKGROUND-COLOR: #DFF1F9">
            <input type="submit" name="Submit" value="确定" style="height:20; font:9pt; BORDER-BOTTOM: #cccccc 1px groove; BORDER-RIGHT: #cccccc 1px groove; BACKGROUND-COLOR: #eeeeee">
      </form> 
    </body>
      

  4.   

    谢谢楼上的各位朋友了,因为我不是做java方面的,所以对这些知识不是很了解,有些知识比较模糊。最近还会经常来问一些问题的。上面的方法我会实践一下的
      

  5.   

    同意2楼,再补充一点,就是将jsp页面数据
    作为参数传递到数据库查询语句中的方法:
    如果要在mytable的表中查询userame为
    myValue(就是2楼说的那个表单传递过来的值)
    的用户信息:
    public String execute()throws Exception{ 
        String sql = "select * from mytable where username = " +myValue;
        调用dao层的相关查询,根据实际情况返回不同的值:
       if(....) return "error";
        return "success"; 
      } 
      

  6.   

    传值的方法太多了。告诉楼主也没意义。
    发现楼主基础不是很好,先看书,把基础补好了再进一步学习最好。
    不然学到后面很吃力的。
    去看看servlet跟Jsp的书。
      

  7.   

    表单提交,Struts 的 ActionForm ...
             自己写表单提交也可以
    你还可以隐藏表单域
    也可以通过 url 传值
    你在Action 里拿到插入数据库就可以了!
      

  8.   


    action请求的路径需要包含文件名吗?例如我实在aaa.bbb.ccc包中,文件叫ddd.java是写/aaa.bbb.ccc/ddd.java还是/aaa.bbb.ccc
      

  9.   

    楼主说的应该是页面于后台的交互方式,这个问题思路太多了,form提交,js提交,还有现在AJAX的提交都可以实现,具体的就看你怎么用了,
      

  10.   

    谢谢楼上的各位了,能否再详细的说一下呢。我也知道实现方法有多种,但是现在尝试着做一些东西,没有头绪。我现在手头有一个jsp文件,我不想做太大改动,我把里面的值传到另一个java文件中,可以说是form提交吧!怎样才能在java文件中收到,是java文件中,用getxxx和setxxx方法吗,this.xxx=xxx,return xxx的形式吗?但是这样做符合struts2的mvc的设计模式吗?谢谢!
      

  11.   

    方法很多啊,设置个隐藏的inpu用formbean收集数据,或者用JS提交表单时候传递也可以传,再不行用URL也可以传值,不过好像传中文的时候容易出现乱码,需要转换下!