什么是带参数的字符串 函数参数--

springmvc入门基础之注解和参数传递 - 克己复礼_博物致知 - ITeye技术网站
博客分类:
一、SpringMVC注解入门
1. 创建web项目2. 在springmvc的配置文件中指定注解驱动,配置扫描器
&!-- mvc的注解驱动 --&
&mvc:annotation-driven /&
&!--只要定义了扫描器,注解驱动就不需要,扫描器已经有了注解驱动的功能 --&
&context:component-scan base-package="org.study1.mvc.controller" /&
&!-- 前缀+ viewName +后缀 --&
class="org.springframework.web.servlet.view.InternalResourceViewResolver"&
&!-- WebContent(WebRoot)到某一指定的文件夹的路径 ,如下表示/WEB-INF/view/*.jsp --&
&property name="prefix" value="/WEB-INF/view/"&&/property&
&!-- 视图名称的后缀 --&
&property name="suffix" value=".jsp"&&/property&
&context:component-scan/& 扫描指定的包中的类上的注解,常用的注解有:
@Controller 声明Action组件@Service
声明Service组件
@Service("myMovieLister") @Repository 声明Dao组件@Component
泛指组件, 当不好归类时. @RequestMapping("/menu")
请求映射@Resource
用于注入,( j2ee提供的 ) 默认按名称装配,@Resource(name="beanName") @Autowired 用于注入,(srping提供的) 默认按类型装配 @Transactional( rollbackFor={Exception.class}) 事务管理@ResponseBody@Scope("prototype")
设定bean的作用
3. @controller:标识当前类是控制层的一个具体的实现4. @requestMapping:放在方法上面用来指定某个方法的路径,当它放在类上的时候相当于命名空间需要组合方法上的requestmapping来访问。
@Controller // 用来标注当前类是springmvc的控制层的类
@RequestMapping("/test") // RequestMapping表示 该控制器的唯一标识或者命名空间
public class TestController {
* 方法的返回值是ModelAndView中的
@RequestMapping("/hello.do") // 用来访问控制层的方法的注解
public String hello() {
System.out.println("springmvc annotation... ");
return "jsp1/index";
在本例中,项目部署名为mvc,tomcat url为 ,所以实际为:
在本例中,因为有命名空间 /test,所以请求hello方法地址为:http://localhost/mvc/test/hello.do
输出:springmvc annotation...
二、注解形式的参数接收
1. HttpServletRequest可以直接定义在参数的列表,通过该请求可以传递参数
url:http://localhost/mvc/test/toPerson.do?name=zhangsan
* HttpServletRequest可以直接定义在参数的列表,
@RequestMapping("/toPerson.do")
public String toPerson(HttpServletRequest request) {
String result = request.getParameter("name");
System.out.println(result);
return "jsp1/index";
可以从HttpServletRequest 取出“name”属性,然后进行操作!如上,可以取出 “name=zhangsan”
输出:zhangsan2. 在参数列表上直接定义要接收的参数名称,只要参数名称能匹配的上就能接收所传过来的数据, 可以自动转换成参数列表里面的类型,注意的是值与类型之间是可以转换的
2.1传递多种不同类型的参数:
url:http://localhost/mvc/test/toPerson1.do?name=zhangsan&age=14&address=china&birthday=
* 传递的参数的名字必须要与实体类的属性set方法后面的字符串匹配的上才能接收到参数,首字符的大小写不区分
* 请求中传的参数只要是能和参数列表里面的变量名或者实体里面的set后面的字符串匹配的上就能接收到 a
@RequestMapping("/toPerson1.do")
public String toPerson1(String name, Integer age, String address,
Date birthday) {
System.out.println(name + " " + age + " " + address + " " + birthday);
return "jsp1/index";
* 注册时间类型的属性编辑器,将String转化为Date
@InitBinder
public void initBinder(ServletRequestDataBinder binder) {
binder.registerCustomEditor(Date.class, new CustomDateEditor(
new SimpleDateFormat("yyyy-MM-dd"), true));
输出:zhangsan 14 china Fri Feb 11 00:00:00 CST 2000
2.2传递数组:
url:http://localhost/mvc/test/toPerson2.do?name=tom&name=jack
* 对数组的接收,定义为同名即可
@RequestMapping("/toPerson2.do")
public String toPerson2(String[] name) {
for (String result : name) {
System.out.println(result);
return "jsp1/index";
输出:tom jack
2.3传递自定义对象(可多个):
url:http://localhost/mvc/test/toPerson3.do?name=zhangsan&age=14&address=china&birthday=
User 定义的属性有:name,age,并且有各自属性的对应的set方法以及toString方法
Person定义的属性有:name,age.address,birthday,并且有各自属性的对应的set方法以及toString方法
* 传递的参数的名字必须要与实体类的属性set方法后面的字符串匹配的上才能接收到参数,首字符的大小写不区分
* 请求中传的参数只要是能和参数列表里面的变量名或者实体里面的set后面的字符串匹配的上就能接收到
@RequestMapping("/toPerson3.do")
public String toPerson3(Person person, User user) {
System.out.println(person);
System.out.println(user);
return "jsp1/index";
Person [name=zhangsan, age=14, address=china, birthday=Fri Feb 11 00:00:00 CST 2000]User [name=zhangsan, age=14]
自动封装了对象,并且被分别注入进来!
三、注解形式的结果返回
1. 数据写到页面,方法的返回值采用ModelAndView, new ModelAndView("index", map);,相当于把结果数据放到response里面
url:http://localhost/mvc/test/toPerson41.do
url:http://localhost/mvc/test/toPerson42.do
url:http://localhost/mvc/test/toPerson43.do
url:http://localhost/mvc/test/toPerson44.do
* HttpServletRequest可以直接定义在参数的列表,并且带回返回结果
@RequestMapping("/toPerson41.do")
public String toPerson41(HttpServletRequest request) throws Exception {
request.setAttribute("p", newPesion());
return "index";
* 方法的返回值采用ModelAndView, new ModelAndView("index", map);
* ,相当于把结果数据放到Request里面,不建议使用
@RequestMapping("/toPerson42.do")
public ModelAndView toPerson42() throws Exception {
Map&String, Object& map = new HashMap&String, Object&();
map.put("p", newPesion());
return new ModelAndView("index", map);
* 直接在方法的参数列表中来定义Map,这个Map即使ModelAndView里面的Map,
* 由视图解析器统一处理,统一走ModelAndView的接口,也不建议使用
@RequestMapping("/toPerson43.do")
public String toPerson43(Map&String, Object& map) throws Exception {
map.put("p", newPesion());
return "index";
* 在参数列表中直接定义Model,model.addAttribute("p", person);
* 把参数值放到request类里面去,建议使用
@RequestMapping("/toPerson44.do")
public String toPerson44(Model model) throws Exception {
// 把参数值放到request类里面去
model.addAttribute("p", newPesion());
return "index";
* 为了测试,创建一个Persion对象
public Person newPesion(){
Person person = new Person();
person.setName("james");
person.setAge(29);
person.setAddress("maami");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = format.parse("");
person.setBirthday(date);
以上四种方式均能达到相同的效果,但在参数列表中直接定义Model,model.addAttribute("p", person);把参数值放到request类里面去,建议使用
2. Ajax调用springmvc的方法:直接在参数的列表上定义PrintWriter,out.write(result);把结果写到页面,建议使用的
url:http://localhost/mvc/test/toAjax.do
* ajax的请求返回值类型应该是void,参数列表里直接定义HttpServletResponse,
* 获得PrintWriter的类,最后可把结果写到页面 不建议使用
@RequestMapping("/ajax1.do")
public void ajax1(String name, HttpServletResponse response) {
String result = "hello " +
response.getWriter().write(result);
} catch (IOException e) {
e.printStackTrace();
* 直接在参数的列表上定义PrintWriter,out.write(result);
* 把结果写到页面,建议使用的
@RequestMapping("/ajax2.do")
public void ajax2(String name, PrintWriter out) {
String result = "hello " +
out.write(result);
* 转向ajax.jsp页面
@RequestMapping("/toAjax.do")
public String toAjax() {
return "ajax";
ajax页面代码如下:
&script type="text/javascript" src="js/jquery-1.6.2.js"&&/script&
&script type="text/javascript"&
$(function(){
$("#mybutton").click(function(){
url:"test/ajax1.do",
type:"post",
dataType:"text",
name:"zhangsan"
success:function(responseText){
alert(responseText);
error:function(){
alert("system error");
&input id="mybutton" type="button" value="click"&
四、表单提交和重定向
1、表单提交:
请求方式的指定:@RequestMapping( method=RequestMethod.POST )可以指定请求方式,前台页面就必须要以它制定好的方式来访问,否则出现405错误
表单jsp页面:
&base href="&%=basePath%&"&
&title&SpringMVC Form&/title&
&form action="test/toPerson5.do" method="post"&
name:&input name="name" type="text"&&br&
age:&input name="age" type="text"&&br&
address:&input name="address" type="text"&&br&
birthday:&input name="birthday" type="text"&&br&
&input type="submit" value="submit"&&br&
对应方法为:
* 转向form.jsp页面
@RequestMapping("/toform.do")
public String toForm() {
return "form";
* @RequestMapping( method=RequestMethod.POST)
* 可以指定请求方式,前台页面就必须要以它制定好的方式来访问,否则出现405错误 a
@RequestMapping(value = "/toPerson5.do", method = RequestMethod.POST)
public String toPerson5(Person person) {
System.out.println(person);
return "jsp1/index";
2. 重定向:controller内部重定向,redirect:加上同一个controller中的requestMapping的值,controller之间的重定向:必须要指定好controller的命名空间再指定requestMapping的值,redirect:后必须要加/,是从根目录开始
* controller内部重定向
* redirect:加上同一个controller中的requestMapping的值
@RequestMapping("/redirectToForm.do")
public String redirectToForm() {
return "redirect:toform.do";
* controller之间的重定向:必须要指定好controller的命名空间再指定requestMapping的值,
* redirect:后必须要加/,是从根目录开始
@RequestMapping("/redirectToForm1.do")
public String redirectToForm1() {
//test1表示另一个Controller的命名空间
return "redirect:/test1/toForm.do";
参考资料:
浏览 15542
浏览: 48096 次
来自: 小城市
[color=orange][/color][/size]l] ...
写的还好。
与节省内存空间C# 传一个参数(带中文的字符串)给dll ,要求传UTF8,怎么传?
[问题点数:100分,结帖人u]
C# 传一个参数(带中文的字符串)给dll ,要求传UTF8,怎么传?
[问题点数:100分,结帖人u]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关推荐:
2015年3月 总版技术专家分月排行榜第二2014年12月 总版技术专家分月排行榜第二2014年9月 总版技术专家分月排行榜第二
2015年3月 .NET技术大版内专家分月排行榜第一2015年2月 .NET技术大版内专家分月排行榜第一2015年1月 .NET技术大版内专家分月排行榜第一2014年12月 .NET技术大版内专家分月排行榜第一2014年11月 .NET技术大版内专家分月排行榜第一
2015年3月 总版技术专家分月排行榜第二2014年12月 总版技术专家分月排行榜第二2014年9月 总版技术专家分月排行榜第二
2015年3月 .NET技术大版内专家分月排行榜第一2015年2月 .NET技术大版内专家分月排行榜第一2015年1月 .NET技术大版内专家分月排行榜第一2014年12月 .NET技术大版内专家分月排行榜第一2014年11月 .NET技术大版内专家分月排行榜第一
2014年3月 扩充话题大版内专家分月排行榜第三
2015年2月 .NET技术大版内专家分月排行榜第二2015年1月 .NET技术大版内专家分月排行榜第二2014年11月 .NET技术大版内专家分月排行榜第二2014年5月 .NET技术大版内专家分月排行榜第二2014年4月 .NET技术大版内专家分月排行榜第二2012年2月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二
2015年7月 .NET技术大版内专家分月排行榜第三2015年6月 .NET技术大版内专家分月排行榜第三2015年5月 .NET技术大版内专家分月排行榜第三2015年4月 .NET技术大版内专家分月排行榜第三2014年12月 .NET技术大版内专家分月排行榜第三2014年10月 .NET技术大版内专家分月排行榜第三2014年9月 .NET技术大版内专家分月排行榜第三2014年1月 .NET技术大版内专家分月排行榜第三2013年12月 .NET技术大版内专家分月排行榜第三2013年10月 .NET技术大版内专家分月排行榜第三2013年5月 .NET技术大版内专家分月排行榜第三2011年9月 .NET技术大版内专家分月排行榜第三2011年2月 .NET技术大版内专家分月排行榜第三2010年2月 .NET技术大版内专家分月排行榜第三
2015年3月 总版技术专家分月排行榜第二2014年12月 总版技术专家分月排行榜第二2014年9月 总版技术专家分月排行榜第二
2015年3月 .NET技术大版内专家分月排行榜第一2015年2月 .NET技术大版内专家分月排行榜第一2015年1月 .NET技术大版内专家分月排行榜第一2014年12月 .NET技术大版内专家分月排行榜第一2014年11月 .NET技术大版内专家分月排行榜第一
2015年3月 总版技术专家分月排行榜第二2014年12月 总版技术专家分月排行榜第二2014年9月 总版技术专家分月排行榜第二
2015年3月 .NET技术大版内专家分月排行榜第一2015年2月 .NET技术大版内专家分月排行榜第一2015年1月 .NET技术大版内专家分月排行榜第一2014年12月 .NET技术大版内专家分月排行榜第一2014年11月 .NET技术大版内专家分月排行榜第一
2015年3月 总版技术专家分月排行榜第二2014年12月 总版技术专家分月排行榜第二2014年9月 总版技术专家分月排行榜第二
2015年3月 .NET技术大版内专家分月排行榜第一2015年2月 .NET技术大版内专家分月排行榜第一2015年1月 .NET技术大版内专家分月排行榜第一2014年12月 .NET技术大版内专家分月排行榜第一2014年11月 .NET技术大版内专家分月排行榜第一
2015年3月 总版技术专家分月排行榜第二2014年12月 总版技术专家分月排行榜第二2014年9月 总版技术专家分月排行榜第二
2015年3月 .NET技术大版内专家分月排行榜第一2015年2月 .NET技术大版内专家分月排行榜第一2015年1月 .NET技术大版内专家分月排行榜第一2014年12月 .NET技术大版内专家分月排行榜第一2014年11月 .NET技术大版内专家分月排行榜第一
2015年7月 MS-SQL Server大版内专家分月排行榜第三2015年6月 其他数据库开发大版内专家分月排行榜第三
2015年3月 总版技术专家分月排行榜第二2014年12月 总版技术专家分月排行榜第二2014年9月 总版技术专家分月排行榜第二
2015年3月 .NET技术大版内专家分月排行榜第一2015年2月 .NET技术大版内专家分月排行榜第一2015年1月 .NET技术大版内专家分月排行榜第一2014年12月 .NET技术大版内专家分月排行榜第一2014年11月 .NET技术大版内专家分月排行榜第一
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。&& 查看话题
有机物在在不同 pH 值下的形态分布图是怎么做出来的?需要测哪些参数呢?
请问这种形态分布图是如何做出来的?需要用到什么仪器?测哪些&&参数呢?请指教~~谢谢!
JAU)Y[QRZFJ{9E_8E)P[PXT.png
知道这个酸的酸/碱官能团的解离常数pKa就能做。 : Originally posted by jiangcj09 at
知道这个酸的酸/碱官能团的解离常数pKa就能做。 可以说的具体一点吗&&具体公式是什么?谢谢~ : Originally posted by ttacademic at
可以说的具体一点吗&&具体公式是什么?谢谢~... 这个图是不同pH下的物种分布(各种形态占的百分比),知道酸(二元酸或者氨基酸) 的酸解离常数就能算出来。
不知道这个CIP是什么,但是基本的解离是:
CIPH2(+) --& CIPH(+-) + H+& & Ka1={H+}{CIPH(+-)}/{CIPH2(+)}
CIPH(+-) --& CIP(-) + H+& & Ka2={H+}{CIP(-)}/{CIPH(+-)}
再加上质量守恒:
Total = ++
在低浓度稀溶液里,可以认为化学活度(以{}表示)和浓度(以表示)相等。
然后就可以算了。 : Originally posted by jiangcj09 at
这个图是不同pH下的物种分布(各种形态占的百分比),知道酸(二元酸或者氨基酸) 的酸解离常数就能算出来。
不知道这个CIP是什么,但是基本的解离是:
CIPH2(+) --& CIPH(+-) + H+& & Ka1={H+}{CIPH(+-)}/{C ... 非常感谢!:arm:在写shell脚本时,可能有些输入参数表示的是文件路径,怎么处理文件路径中包含空格等特殊字符的问题呢?
例如,假设我写了一个abc.sh,内容如下:#!/bin/shrm -rf $1假设在当前目录下有一个文件名是"abc def"(中间是空格),那么用户可能会使用这样的命令"./abc.sh abc\ def"来调用这个脚本。此时,"rm -rf $1"就相当与"rm -rf abc def",于是就出错了。这种错误有时候会造成很悲剧的后果。例如删除一个目录"abc "(c后面有空格),有些人可能会习惯地使用"./abc.sh abc\ /",因此就相当于"rm -rf abc /"。。。对于这样一个简单的脚本,我还可以对路径做一个处理,把空格替换成"\ ",但是如果在复杂的脚本中,可能调用了许多函数或子脚本,这就不好办了。有没有什么比较好的办法来处理这样的文件路径呢?
难得提问者写了这么长!好像就是 "" / '' 能解决的问题 ?天!是不是现在的基础教科书很匮乏啊?用URL传参带特殊字符,特殊字符丢失(encode)_小组_ThinkSAAS
用URL传参带特殊字符,特殊字符丢失(encode)
用URL传参带特殊字符,特殊字符丢失(encode)
用URL传参带特殊字符,特殊字符丢失(encode)
&!-- 正文开始 --&
一、问题阐述
用URL传参数的时候,用&符号连接,如果某一个参数中含"#$ ^ & * + ="这些符号的时候,在另一个页面getParameter就会取不到传过来的参数。
二、解决方法
有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如空格的编码值是"%20"。
如果不使用转义字符,这些编码就会当URL中定义的特殊字符处理。
下表中列出了一些URL特殊符号及编码十六进制值
1.+ URL 中+号表示空格 %2B
2.空格 URL中的空格可以用+号或者编码 %20
3./ 分隔目录和子目录 %2F
4.? 分隔实际的 URL 和参数 %3F
5.% 指定特殊字符 %25
6.# 表示书签 %23
7.& URL 中指定的参数间的分隔符 %26
8.= URL 中指定参数的值 %3D
用URLEncoder.encode()也可以得到上面字符的特殊编码。
String a="=";
System.out.println(URLEncoder.encode(a,"UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
输出结果:%3D
今碰到一个头疼的问题,我在javascript中有一个url链接,其中这个url有两个参数,用&链接。本来我想是javascript处理特殊字符问题。所以我就在ShowArticle.aspx?CategoryID=5&ArticleID=27改成ShowArticle.aspx?CategoryID=5&ArticleID=27,可是不行。找了大量资料,原来不是javascript处理特殊字符物体,而是url处理特殊字符问题。所以我把ShowArticle.aspx?CategoryID=5&ArticleID=27
换成ShowArticle.aspx?CategoryID=5%26ArticleID=27,行了。
javascript中的特殊字符如下:
url中的特殊字符如下:
+ 表示空格(在 URL 中不能使用空格)         %20
/ 分隔目录和子目录
       %2F
? 分隔实际的 URL 和参数
      %3F
% 指定特殊字符
      %25
# 表示书签 
      %23
& URL 中指定的参数间的分隔符
      %26
&!-- 正文结束 --&
用户评论(0)
开发技术学习小组列表
PHP开发框架
缓存Memcache
服务器环境
ThinkSAAS商业授权:
ThinkSAAS为用户提供有偿个性定制开发服务
ThinkSAAS将为商业授权用户提供二次开发指导和技术支持
手机客户端
ThinkSAAS接收任何功能的Iphone(IOS)和Android手机的客户端定制开发服务
让ThinkSAAS更好,把建议拿来。

我要回帖

更多关于 字符串 函数参数 的文章

 

随机推荐