精华内容
下载资源
问答
  • MyBatis多参数传递的四种方式 2015年12月06日 16:06:47 阅读数:8253 一、多参数传递之注解方式示例 若映射器中的方法只有一个参数,则在对应的SQL语句中,可以采用#{参数名}的方式来引用此参数,以前的例子多...

    MyBatis多参数传递的四种方式

    2015年12月06日 16:06:47

    阅读数:8253

    一、多参数传递之注解方式示例

    若映射器中的方法只有一个参数,则在对应的SQL语句中,可以采用#{参数名}的方式来引用此参数,以前的例子多属于此类。但这种方法却不适用于需要传递多个参数的情况,今天就来介绍如何使用注解传递多个参数。

    1、使用注解实现多参数传递
          首先应引入“org.apache.ibatis.annotations.Param”,我们在接口TeacherMapper中引入,并增加一个教师分页查询的方法findTeacherByPage的声明。如下所示:

     

    
     
    1. package com.abc.mapper;

    2. import com.abc.domain.Teacher;

    3. import org.springframework.stereotype.Component;

    4. import java.util.List;

    5. //使用@Param注解需要先引入Param

    6. import org.apache.ibatis.annotations.Param;

    7. //@Component指定映射器名称为myTeacherMapper

    8. //相关内容,可参考笔者博客:

    9. //http://legend2011.blog.51cto.com/3018495/980150

    10. @Component("myTeacherMapper")

    11. public interface TeacherMapper {

    12. public Teacher getById(int id);

    13. //分页查询教师信息

    14. public List<Teacher> findTeacherByPage(

    15. //使用@Param("sort")注解,即可在SQL语句中

    16. //以“#{sort}”的方式引用此方法的sort参数值。

    17. //当然也可以在@Param中使用其他名称,

    18. //如@Param("mysort")

    19. @Param("sort") String sort,//排序字段

    20. //以下三个注解同理

    21. @Param("dir") String dir, //排序方向

    22. @Param("start") int start, //起始记录

    23. @Param("limit") int limit //记录条数

    24. );

    25. }


    对应的映射文件TeacherMapper.xml的内容如下:

     

    
     
    1. <?xmlversion="1.0"encoding="utf8"?>

    2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

    3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

    4. <!--与以前一样,namespace的值是对应的映射器接口的完整名称-->

    5. <mapper namespace="com.abc.mapper.TeacherMapper">

    6. <!--教师实体映射-->

    7. <resultMap id="supervisorResultMap"type="Teacher">

    8. <id property="id"/>

    9. <result property="name"/>

    10. <result property="gender"/>

    11. <result property="researchArea"column="research_area"/>

    12. <result property="title"/>

    13. <!--collection元素映射教师的指导学生集合的属性。这里采用了

    14. “命名空间名.select语句id”的形式来引用StudentMapper.xml中的

    15. select语句getStudents。

    16. -->

    17. <collection property="supStudents" column="id" ofType="Student"

    18. select="com.abc.mapper.StudentMapper.getStudents"/>

    19. </resultMap>

    20. <select id="findTeacherByPage" resultMap="supervisorResultMap">

    21. select * from teacher

    22. order by ${sort} ${dir} limit #{start},#{limit}

    23. </select>

    24. </mapper>

    运行主程序如下:

     

    
     
    1. package com.demo;

    2. import org.springframework.context.ApplicationContext;

    3. import com.abc.mapper.StudentMapper;

    4. import com.abc.mapper.TeacherMapper;

    5. import com.abc.domain.Teacher;

    6. import com.abc.domain.Student;

    7. import org.springframework.context.support.ClassPathXmlApplicationContext;

    8. import java.util.List;

    9. public class CollectionDemo

    10. {

    11. private static ApplicationContext ctx;

    12. static

    13. {

    14. //在类路径下寻找resources/beans.xml文件

    15. ctx = new ClassPathXmlApplicationContext("resources/beans.xml");

    16. }

    17. public static void main(String[] args)

    18. {

    19. //从Spring容器中请求映射器

    20. TeacherMapper mapper =

    21. (TeacherMapper)ctx.getBean("myTeacherMapper");

    22. Teacher teacher = null;

    23. //查询教师分页信息

    24. List<Teacher> teachers =

    25. //以name字段升序排序,从第0条记录开始查询。

    26. //查询2条记录

    27. mapper.findTeacherByPage("name","asc",0, 2);

    28. if(teachers == null)

    29. {

    30. System.out.println("未找到相关教师信息。");

    31. }

    32. else

    33. {

    34. Object[] t = teachers.toArray();

    35. System.out.println("**********************************************");

    36. for(int i = 0; i < t.length; i++)

    37. {

    38. teacher = (Teacher)t[i];

    39. System.out.println("教师姓名:" + " " + teacher.getName());

    40. System.out.println("教师职称:" + " " + teacher.getTitle());

    41. System.out.println("指导学生信息:");

    42. //遍历指导的学生

    43. for(Student s : teacher.getSupStudents())

    44. {

    45. System.out.println( s.getName() + " " + s.getGender()

    46. + " " + s.getGrade()

    47. + " " + s.getMajor());

    48. }

    49. System.out.println("**********************************************");

    50. }

    51. }

    52. }

    53. }


    2、可能会遇到的错误
          关于order by
          一般而言,我们会使用#{参数名}的形式来引用方法中的参数,但这种方式对于order by子句无效或报错。例如,当TeacherMapper.xml的select语句findTeacherByPage中的order by子句以#{sort}的形式引用方法中的sort参数的值时,是无效的(读者可自行验证);以#{dir}的形式引用方法中的dir参数的值时,会报MySQLSyntaxErrorException。因此,在这里使用了${参数名}的形式引用了相应的参数值。

     

    二、多参数传递之默认命名方式示例

           对于映射器中的方法,MyBatis默认从左到右给方法的参数命名为param1、param2…,依次类推。我们可以无需借助注解,直接在SQL语句中使用这些默认名称。首先去掉@Param注解的TeacherMapper.java如下所示:

     

    
     
    1. package com.abc.mapper;

    2. import com.abc.domain.Teacher;

    3. import org.springframework.stereotype.Component;

    4. import java.util.List;

    5. //@Component指定映射器名称为myTeacherMapper

    6. //相关内容,可参考笔者博客:

    7. //http://legend2011.blog.51cto.com/3018495/980150

    8. @Component("myTeacherMapper")

    9. public interface TeacherMapper {

    10. public Teacher getById(int id);

    11. //分页查询教师信息

    12. public List<Teacher> findTeacherByPage(

    13. String sort,//排序字段

    14. String dir, //排序方向

    15. int start, //起始记录

    16. int limit //记录条数

    17. );

    18. }


    按照上述的默认命名方式,MyBatis对findTeacherByPage方法的参数从左到右的默认命名依次是:sort为param1,dir为param2,start为param3,limit为param4。然后,就可以在映射文件TeacherMapper.xml里的、与此方法相对应的SQL语句中以#{参数名}的方式来使用这些名称了。如下第25行所示:

     

    
     
    1. <?xml version="1.0" encoding="utf8"?>

    2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

    3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

    4. <!--与以前一样,namespace的值是对应的映射器接口的完整名称-->

    5. <mapper namespace="com.abc.mapper.TeacherMapper">

    6. <!--教师实体映射-->

    7. <resultMap id="supervisorResultMap" type="Teacher">

    8. <id property="id"/>

    9. <result property="name"/>

    10. <result property="gender"/>

    11. <result property="researchArea"column="research_area"/>

    12. <result property="title"/>

    13. <collection property="supStudents" column="id" ofType="Student"

    14. select="com.abc.mapper.StudentMapper.getStudents"/>

    15. </resultMap>

    16. <!--param1、param2等是MyBatis对映射器方法参数的默认命名-->

    17. <select id="findTeacherByPage" resultMap="supervisorResultMap">

    18. select * from teacher

    19. order by ${param1} ${param2} limit #{param3},#{param4}

    20. </select>

    21. </mapper>


          #{…}与${…}差异小议
          MyBatis官方文档(http://code.google.com/p/mybatis/wiki/faq)对两者的描述是:#{…}是一个参数标记,而${…}只是简单的字符串替换。一般而言,为避免SQL注入攻击,传递参数应使用#{…}方式,因为这样MyBatis会处理好特殊字符转义的问题;但在SQL语句的某些地方,又不能使用#{…}方式。上述文档举出的例子是不能用这种方式指定表名,而根据我们的经验,在order by子句中也不能用这种方式。从中我们可以总结出:对于诸如表名、字段名(如order by子句后的排序字段)这些表本身或其字段的名字,和SQL关键字(如order by子句后的asc关键字),是不能使用#{…}方式的,而只能使用字符串替换的${…}方式。

    我认为究其原因还是因为像以前所了解的,#{}相当于是给里面的内容加了“”双引号。

     

    三、MyBatis多参数传递之Map方式示例

    首先修改映射器接口TeacherMapper中的findTeacherByPage方法如下:

     

    
     
    1. //分页查询教师信息

    2. public List<Teacher> findTeacherByPage(Map<String, Object> map);

    相应地,这里用到了Map接口,就应该引入此接口:import java.util.Map。
    在执行类CollectionDemo中,调用findTeacherByPage方法的相关代码如下:

    
     
    1. Map<String, Object> params = new HashMap<String, Object>();

    2. //以name字段升序排序,

    3. params.put("sort", "name");

    4. params.put("dir", "asc");

    5. //查询结果从第0条开始,查询2条记录

    6. params.put("start", 0);

    7. params.put("limit", 2);

    8. //查询职称为教授或副教授的教师

    9. params.put("title", "%教授");

    10. //分页查询教师信息

    11. List<Teacher> teachers = mapper.findTeacherByPage(params);


    可以看出,我们先把参数放在了一个Map中,这样我们就可以在相应的SQL语句中以#{…}的形式引用这些参数了。如下所示:

     

    
     
    1. <select id="findTeacherByPage" resultMap="supervisorResultMap"

    2. parameterType="java.util.Map">

    3. select * from teacher where title like #{title}

    4. order by ${sort} ${dir} limit #{start},#{limit}

    5. </select>


    与以前一样,在order by子句中应使用${…}的方式。实际上,这里的parameterType="java.util.Map"可以不要。

     

    四、MyBatis多参数传递之混合方式

    在默认命名方式(MyBatis多参数传递之默认命名方式示例)一文中,介绍了MyBatis对参数的默认命名,这种命名在这种情况下依然有效。我们需要做的,就是如何根据这个命名读出Map中的参数值。这里就采用这种方式来实现教师分页查询。先修改映射器接口(TeacherMapper.java)中的教师分页查询方法的声明如下。

     

    
     
    1. //分页查询教师信息

    2. public List<Teacher> findTeacherByPage(

    3. Map params, //查询条件

    4. int start, //起始记录

    5. int limit //记录条数

    6. );


    那么MyBatis将会对此方法的三个参数依次命名为param1、param2和param3,其中第一个参数为Map类型,后两个参数为int类型。

     执行类(CollectionDemo.java)中的查询代码片段如下: 

     

    
     
    1. Map<String, Object> params =

    2. new HashMap<String, Object>();

    3. //以name字段升序排序,

    4. params.put("sort", "name");

    5. params.put("dir", "asc");

    6. //查询职称为教授或副教授的教师

    7. params.put("title", "%教授");

    8. //查询教师分页信息

    9. List<Teacher> teachers =

    10. //以name字段升序排序,从第0条记录开始查询。

    11. //查询2条记录

    12. mapper.findTeacherByPage(params,0, 2);


    相应的映射配置(TeacherMapper.xml)文件片段如下: 

     

    
     
    1. <selectid="findTeacherByPage"resultMap="supervisorResultMap">

    2. select * from teacher where teacher.title like

    3. #{param1.title} order by ${param1.sort} ${param1.dir} limit #{param2},#{param3}

    4. </select>


    在以上的映射文件中,使用#{param1.title}的形式就能访问Map中title属性的值。当然,在order by子句中应使用${param1.sort}的形式,在本例中使用“#”也是可以的,由此我们可以总结出,我们使用#{参数默认命名.属性名}的形式,就可以在映射文件访问Map参数的属性值。

    展开全文
  • 而向函数传递参数方式四种,分别是值传递、引用传递、默认参数和可变长度参数。1. 值传递值传递是 PHP 中函数的默认传值方式,也称为“拷贝传值”。顾名思义值传递的方式会将实参的值复制一份再传递给函数的形参...

    在调用函数时,需要向函数传递参数,被传入函数的参数称为实参,而函数定义的参数称为形参。而向函数传递参数的方式有四种,分别是值传递、引用传递、默认参数和可变长度参数。

    1. 值传递

    值传递是 PHP 中函数的默认传值方式,也称为“拷贝传值”。顾名思义值传递的方式会将实参的值复制一份再传递给函数的形参,所以在函数中操作参数的值并不会对函数外的实参造成影响。因此如果不希望函数修改实参的值,就可以通过值传递的方式。

    【示例】下面定义一个简单的函数,函数有两个参数,在函数中交换参数的值。

    function swap($a, $b){

    echo '函数内,交换前 $a = '.$a.', $b = '.$b.'
    ';

    $temp = $a;

    $a = $b;

    $b = $temp;

    echo '函数内,交换后 $a = '.$a.', $b = '.$b.'
    ';

    }

    $x = 5;

    $y = 7;

    echo '函数外,交换前 $x = '.$x.', $y = '.$y.'
    ';

    swap($x, $y);

    echo '函数外,交换后 $x = '.$x.', $y = '.$y;

    ?>

    运行结果如下:

    函数外,交换前 $x = 5, $y = 7

    函数内,交换前 $a = 5, $b = 7

    函数内,交换后 $a = 7, $b = 5

    函数外,交换后 $x = 5, $y = 7

    通过运行结果可以看到,在函数内,数值确实是交换了,而在函数外部,数值却没有变化。因此可以说,函数的值传递只是传递变量的副本。那么要是想让函数能够操作函数外实参的话,就需要使用引用传递的方式了。

    2. 引用传递

    参数的引用传递就是把实参的内存地址复制一份,然后传递给函数的形参,实参和形参都指向同一个内存地址,因此函数对形参的操作,会影响到函数外的实参。

    按引用传递就是将实参的内存地址传递到函数的形参中。因此实参和形参指向的是同一个内存地址。这时在函数内部的所有操作都会影响到函数外实参的值。引用传递的方式就是在值传递的基础上加上一个&符号,如下所示:

    function name (&参数1, &参数2, ..., &参数3) {

    ...

    }

    【示例】将上面示例的代码略作调整,使用引用传递的方式向 swap 函数中传递参数,代码如下所示:

    function swap(&$a, &$b){

    echo '函数内,交换前 $a = '.$a.', $b = '.$b.'
    ';

    $temp = $a;

    $a = $b;

    $b = $temp;

    echo '函数内,交换后 $a = '.$a.', $b = '.$b.'
    ';

    }

    $x = 5;

    $y = 7;

    echo '函数外,交换前 $x = '.$x.', $y = '.$y.'
    ';

    swap($x, $y);

    echo '函数外,交换后 $x = '.$x.', $y = '.$y;

    ?>

    运行结果如下:

    函数外,交换前 $x = 5, $y = 7

    函数内,交换前 $a = 5, $b = 7

    函数内,交换后 $a = 7, $b = 5

    函数外,交换后 $x = 7, $y = 5

    3. 默认参数

    默认参数就是给函数的某个或多个形式参数指定一个默认的值,如果调用函数时不传入对应的值,那么函数就会使用这个默认值,这样可以避免调用时出现没有参数的错误,也可以使一些程序显得更加合理。如果传入对应的参数,就会替换这个默认值。

    函数的默认参数如下所示:

    function name ($str = 'C语言中文网', $url) {

    echo $str;

    }

    其中,形式参数 $str 后面的“C语言中文网”就是它的默认值,形参与默认值之间需要使用=连接。

    【示例】下面来定义一个具有默认参数的函数,如下所示:

    function add($a, $b=56){

    echo $a.' + '.$b.' = '.($a+$b).'
    ';

    }

    add(11);

    add(37, 29);

    ?>

    运行结果如下:

    11 + 56 = 67

    37 + 29 = 66

    默认参数也可以是多个,而且默认参数必须放在非默认参数右边,并且指定默认参数的值必须是一个具体的值,如数字、字符串,而不能是一个变量。

    【示例】下面来定义一个具有多个默认参数的函数,如下所示:

    function add($a, $b=33, $c=57){

    echo $a.' + '.$b.' + '.$c.' = '.($a+$b+$c).'
    ';

    }

    add(11);

    add(31, 22);

    add(64, 9, 7);

    ?>

    运行结果如下:

    11 + 33 + 57 = 101

    31 + 22 + 57 = 110

    64 + 9 + 7 = 80

    4. 可变长度参数

    在 PHP 5.6 及以后的版本中,函数的形式参数可使用…来表示函数可接受一个可变数量的参数,可变参数将会被当作一个数组传递给函数。示例如下:

    function test(...$arr){

    print_r($arr);

    }

    echo '

    ';

    test(1, 2, 3, 4);

    test(5, 6, 7, 8, 9, 10);

    ?>

    运行结果如下:

    Array

    (

    [0] => 1

    [1] => 2

    [2] => 3

    [3] => 4

    )

    Array

    (

    [0] => 5

    [1] => 6

    [2] => 7

    [3] => 8

    [4] => 9

    [5] => 10

    )

    展开全文
  • 1.直接在URL后面加参数 2.用超链接方法传递参数:...3.第三:通过js方法传递:用户点击这个button按钮,触发DOM时间中onClick事件,执行Go()方法,跳转到localhost:21811/Handler1.ashx页面,同时传递了id,和...

    1.直接在URL后面加参数

    2.用超链接的方法传递参数:当点击超链接的时候,首先会跳转到localhost:21811/Handler1.ashx页面,然后还会传递id 和name 两个参数过去

    3.第三种:通过js方法传递:用户点击这个button按钮,触发DOM时间中的onClick事件,执行Go()方法,跳转到localhost:21811/Handler1.ashx页面,同时传递了id,和name两个参数过去

    4.通过form表单传递
    from表单把所有属于表单中的内容提交给后台,例如输入框,单选框,多选框,文本域,文件域等。
    1. 在后台可通过对应的name属性获取相应的值。
    2. from表单中的action属性标识提交数据的地址。
    3. method属性指明表单提交的方式。

    展开全文
  • 而向函数传递参数方式四种,分别是值传递、引用传递、默认参数和可变长度参数。1. 值传递值传递是 PHP 中函数的默认传值方式,也称为“拷贝传值”。顾名思义值传递的方式会将实参的值复制一份再传递给函数的形参...

    在调用函数时,需要向函数传递参数,被传入函数的参数称为实参,而函数定义的参数称为形参。而向函数传递参数的方式有四种,分别是值传递、引用传递、默认参数和可变长度参数。

    1. 值传递

    值传递是 PHP 中函数的默认传值方式,也称为“拷贝传值”。顾名思义值传递的方式会将实参的值复制一份再传递给函数的形参,所以在函数中操作参数的值并不会对函数外的实参造成影响。因此如果不希望函数修改实参的值,就可以通过值传递的方式。

    【示例】下面定义一个简单的函数,函数有两个参数,在函数中交换参数的值。

    function swap($a, $b){

    echo '函数内,交换前 $a = '.$a.', $b = '.$b.'
    ';

    $temp = $a;

    $a = $b;

    $b = $temp;

    echo '函数内,交换后 $a = '.$a.', $b = '.$b.'
    ';

    }

    $x = 5;

    $y = 7;

    echo '函数外,交换前 $x = '.$x.', $y = '.$y.'
    ';

    swap($x, $y);

    echo '函数外,交换后 $x = '.$x.', $y = '.$y;

    ?>

    运行结果如下:

    函数外,交换前 $x = 5, $y = 7

    函数内,交换前 $a = 5, $b = 7

    函数内,交换后 $a = 7, $b = 5

    函数外,交换后 $x = 5, $y = 7

    通过运行结果可以看到,在函数内,数值确实是交换了,而在函数外部,数值却没有变化。因此可以说,函数的值传递只是传递变量的副本。那么要是想让函数能够操作函数外实参的话,就需要使用引用传递的方式了。

    2. 引用传递

    参数的引用传递就是把实参的内存地址复制一份,然后传递给函数的形参,实参和形参都指向同一个内存地址,因此函数对形参的操作,会影响到函数外的实参。

    按引用传递就是将实参的内存地址传递到函数的形参中。因此实参和形参指向的是同一个内存地址。这时在函数内部的所有操作都会影响到函数外实参的值。引用传递的方式就是在值传递的基础上加上一个&符号,如下所示:

    function name (&参数1, &参数2, ..., &参数3) {

    ...

    }

    【示例】将上面示例的代码略作调整,使用引用传递的方式向 swap 函数中传递参数,代码如下所示:

    function swap(&$a, &$b){

    echo '函数内,交换前 $a = '.$a.', $b = '.$b.'
    ';

    $temp = $a;

    $a = $b;

    $b = $temp;

    echo '函数内,交换后 $a = '.$a.', $b = '.$b.'
    ';

    }

    $x = 5;

    $y = 7;

    echo '函数外,交换前 $x = '.$x.', $y = '.$y.'
    ';

    swap($x, $y);

    echo '函数外,交换后 $x = '.$x.', $y = '.$y;

    ?>

    运行结果如下:

    函数外,交换前 $x = 5, $y = 7

    函数内,交换前 $a = 5, $b = 7

    函数内,交换后 $a = 7, $b = 5

    函数外,交换后 $x = 7, $y = 5

    3. 默认参数

    默认参数就是给函数的某个或多个形式参数指定一个默认的值,如果调用函数时不传入对应的值,那么函数就会使用这个默认值,这样可以避免调用时出现没有参数的错误,也可以使一些程序显得更加合理。如果传入对应的参数,就会替换这个默认值。

    函数的默认参数如下所示:

    function name ($str = 'C语言中文网', $url) {

    echo $str;

    }

    其中,形式参数 $str 后面的“C语言中文网”就是它的默认值,形参与默认值之间需要使用=连接。

    【示例】下面来定义一个具有默认参数的函数,如下所示:

    function add($a, $b=56){

    echo $a.' + '.$b.' = '.($a+$b).'
    ';

    }

    add(11);

    add(37, 29);

    ?>

    运行结果如下:

    11 + 56 = 67

    37 + 29 = 66

    默认参数也可以是多个,而且默认参数必须放在非默认参数右边,并且指定默认参数的值必须是一个具体的值,如数字、字符串,而不能是一个变量。

    【示例】下面来定义一个具有多个默认参数的函数,如下所示:

    function add($a, $b=33, $c=57){

    echo $a.' + '.$b.' + '.$c.' = '.($a+$b+$c).'
    ';

    }

    add(11);

    add(31, 22);

    add(64, 9, 7);

    ?>

    运行结果如下:

    11 + 33 + 57 = 101

    31 + 22 + 57 = 110

    64 + 9 + 7 = 80

    4. 可变长度参数

    在 PHP 5.6 及以后的版本中,函数的形式参数可使用…来表示函数可接受一个可变数量的参数,可变参数将会被当作一个数组传递给函数。示例如下:

    function test(...$arr){

    print_r($arr);

    }

    echo '

    ';

    test(1, 2, 3, 4);

    test(5, 6, 7, 8, 9, 10);

    ?>

    运行结果如下:

    Array

    (

    [0] => 1

    [1] => 2

    [2] => 3

    [3] => 4

    )

    Array

    (

    [0] => 5

    [1] => 6

    [2] => 7

    [3] => 8

    [4] => 9

    [5] => 10

    )

    展开全文
  • (1)属性方式传递参数 (2)getParameter("传递参数"); (3)javabean封装 传递参数 实际就是这里拦截器起作用 也可这样 (4)通过ModelDriven接收参数 执行过程:首先是把action放...
  • 我们定义page01.php和page02.php两个php文件,将page01中内容想办法传递到page02,然后供我们继续使用。   第一: 使用客户端浏览器cookie。cookie很容易理解,就是一个临时文件,可以把它看成一个储藏室,...
  • 我们定义page01.php和page02.php两个php文件,将page01中内容想办法传递到page02,...第一:使用客户端浏览器cookie。cookie很容易理解,就是一个临时文件,可以把它看成一个储藏室,浏览器在浏览过程中...
  • Mybatis传递参数的四种方式

    千次阅读 2019-02-28 09:46:05
    目录方式一、顺序传递参数方式二、注解@Param传递参数方式三、使用Map集合传递参数方式四、使用JavaBean实体类传递参数 方式一、顺序传递参数 mapper.java文件: public User selectUser(String name, int deptId); ...
  • 下面小编就为大家带来一篇JSP向后台传递参数的四种方式总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • /** * 传递参数的四种方式: * 1.使用Model方式(采用!!!) * 2.通用ModelAndView方式 * 3.HttpServletRequest方式(不建议使用) * 4.通过返回值传参(不建议使用) * 跳转方式: 1.重定向 2.请求转发 * @author 郑清 */@...
  • 但这条规则只回答了函数参数传递的“战略问题”,并没有回答“战术问题”,也就说没有回答怎么赋值的问题。函数参数的使用可以分为两个方面,一是函数参数如何定义,二是函数在调用时的参数如何解析的。而后者又是由...
  • python中函数传递参数四种形式fun1(a,b,c)fun2(a=1,b=2,c=3)fun3(*args)fun4(**kargs)四种中最常见是前两种,基本上一般点教程都会涉及,后两种一般很少单独出现,常用在混合模式中第一种 fun1(a,b,c)是直接将...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,035
精华内容 414
关键字:

参数传递的四种方式