通过使用windowlocationsearch可以获取到当前URL的号开始的字符串,如前面的链接获取到的search为id=001,再对获取的字符串进行处理,就可以获取到参数的值了,参考代码如下:
<SPAN style="FONT-SIZE: 14px">function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&])(&|$)");
var r = windowlocationsearchsubstr(1)match(reg);
if (r != null)
return unescape(r[2]);
return null;
}
</SPAN>
在调用上面的方法的时候,只要传入参数的名称,就可以获取到想要的参数的值了,如:getUrlParam("id")。
package commikan;
import javalangannotation;
/
@author Mikan
@date 2015-08-04 23:39
/
@Target(ElementTypePARAMETER)
@Retention(RetentionPolicyRUNTIME)
@Documented
public @interface Param {
String value();
}
获取注解中的参数名的工具类:
package commikan;
import javalangannotationAnnotation;
import javalangreflectMethod;
/
@author Mikan
@date 2015-08-05 00:26
/
public class ParameterNameUtils {
/
获取指定方法的参数名
@param method 要获取参数名的方法
@return 按参数顺序排列的参数名列表
/
public static String[] getMethodParameterNamesByAnnotation(Method method) {
Annotation[][] parameterAnnotations = methodgetParameterAnnotations();
if (parameterAnnotations == null || parameterAnnotationslength == 0) {
return null;
}
String[] parameterNames = new String[parameterAnnotationslength];
int i = 0;
for (Annotation[] parameterAnnotation : parameterAnnotations) {
for (Annotation annotation : parameterAnnotation) {
if (annotation instanceof Param) {
Param param = (Param) annotation;
parameterNames[i++] = paramvalue();
}
}
}
return parameterNames;
}
}
测试类:
package commikan;
import javalangreflectMethod;
import javautilArrays;
/
@author Mikan
@date 2015-08-04 23:40
/
public class ParameterNameTest {
public void method1(@Param("parameter1") String param1, @Param("parameter2") String param2) {
Systemoutprintln(param1 + param2);
}
public static void main(String[] args) throws Exception {
Class<ParameterNameTest> clazz = ParameterNameTestclass;
Method method = clazzgetDeclaredMethod("method1", Stringclass, Stringclass);
String[] parameterNames = ParameterNameUtilsgetMethodParameterNamesByAnnotation(method);
Systemoutprintln(ArraystoString(parameterNames));
}
}
post 请求获取body内容
注意:>
方法一:
如果你是jquery控的,可以将获取url参数的代码写成jquery插件:
<script type='text/javascript' src='>
用反射机制,简单写了一个例子,不懂的可以看一下相关api public class OwerMethodParam {
public static void main(String[] args) {
new OwerMethodParam()test("bb");
}
public void test(String aa) {
Method[] methods = OwerMethodParamclassgetDeclaredMethods(); //取得这个类的所有方法
if (methods != null) {
for (int i = 0; i < methodslength; i++) {
Method method = methods[i];
if ("test"equals(methodgetName())) { //取得本方法,这个方法是test,所以就用test比较
Class<>[] paramsClass = methodgetParameterTypes(); //取得参数列表的所有类
if (paramsClass != null) {
for (Class<> class1 : paramsClass) {
Systemoutprintln(class1getName());
}
}
break;
}
}
在页面A传值:
windowshowModalDialog("ModalDialogFrameaspxTitle=选择组织部门&PageUrl=ParentTreeViewaspx",window,"dialogWidth=380px;dialogHeight=650px;status=no;center=yes;");
在页面A传值:
windowshowModalDialog("ModalDialogFrameaspxTitle=选择组织部门&PageUrl=ParentTreeViewaspx",window,"dialogWidth=380px;dialogHeight=650px;status=no;center=yes;");view plaincopy to clipboardprint
在页面ModalDialogFrameaspx:
function GetQueryString(sProp)
{
var re = new RegExp("[&,]"+sProp + "=([^\\&])", "i");
var a = reexec(documentlocationsearch);
if (a == null)
return "";
return a[1];
}
在页面ModalDialogFrameaspx:
function GetQueryString(sProp)
{
var re = new RegExp("[&,]"+sProp + "=([^\\&])", "i");
var a = reexec(documentlocationsearch);
if (a == null)
return "";
return a[1];
}view plaincopy to clipboardprint
调用方法:
var url=GetQueryString("PageUrl"); //ParentTreeViewaspx
var title=GetQueryString("Title"); //选择组织部门
三个方法:
1、requestQueryString("参数")//获取指定参数,返回字符串;
2、requestQueryStrings();//获取全部参数,并返回数组;
3、requestsetQuery("参数","参数的值");//如果当前地址栏有此参数,那么将更新此参数,否则返回一个新的地址栏参数字符串。
例如:
当前地址栏参数字符串为:name=a&site=never_online
alert(requestsetQuery("name","blueDestiny"))
如果地址栏参数中有"name",那么返回name=blueDestiny&site=never_online
setQuery方法有自动追加参数的功能。如:
当前地址栏参数字符串为:site=never_online
alert(requestsetQuery("name","blueDestiny"))
则返回site=never_online&name=blueDestiny
同理,如果地址栏没有参数,也会自动追加参数
alert(requestsetQuery("name","blueDestiny"))
返回name=blueDestiny
<SCRIPT LANGUAGE="JavaScript">
<!--
// author: never-online
// web: never-onlinenet
var request = {
QueryString : function(val) {
var uri = windowlocationsearch;
var re = new RegExp("" +val+ "\=([^\&\])", "ig");
return ((urimatch(re))(urimatch(re)[0]substr(vallength+1)):null);
},
QueryStrings : function() {
var uri = windowlocationsearch;
var re = /\w\=([^\&\])/ig;
var retval=[];
while ((arr = reexec(uri)) != null)
retvalpush(arr[0]);
return retval;
},
setQuery : function(val1, val2) {
var a = thisQueryStrings();
var retval = "";
var seted = false;
var re = new RegExp("^" +val1+ "\=([^\&\])$", "ig");
for(var i=0; i<alength; i++) {
if (retest(a[i])) {
seted = true;
a[i] = val1 +"="+ val2;
}
}
retval = ajoin("&");
return "" +retval+ (seted "" : (retval "&" : "") +val1+ "=" +val2);
}
}
alert(requestsetQuery("e","b"))
//-->
</SCRIPT>
以上就是关于javascript中怎么获取请求的参数全部的内容,包括:javascript中怎么获取请求的参数、Java如何获取方法参数的参数名称、springboot获取请求参数的几种方式可选参数使用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)