问一个jsp页面中<%= %>传参的问题

江湖人称二舅 2017-08-11 11:46:29
jsp页面中<%= %>,是调用后台的java方法,并且将值进行显示,现在我有一个问题,
举例来说我要调用到的是后台的getUserName()方法,
那么我直接写成<%= getUserName()%>,这样没有问题,可以正常显示。
但是假如我的后台方法有入参了,变成getUserName(String ID),
这时我写成<%= getUserName(‘ID’)%>,页面就报错了。
所以我要怎么样才能将这个前台的ID作为参数传递过去?
...全文
562 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
江湖人称二舅 2017-08-12
  • 打赏
  • 举报
回复
引用 12 楼 MikeDDT009 的回复:
你要理解这个转换成java代码是什么样子的 ,等效于out.write(值),out是响应获得的Writer,那么值从哪里来,你现在这个就是相当于“值”的位置填写的这句话getUserName() ,这是一个方法,那么是哪个对象的?所以GG很正常,3L方法是可以的,只是你需要request.方法来取得值
这样啊,有点理解了,谢谢
MikeDDT009 2017-08-11
  • 打赏
  • 举报
回复
你要理解这个转换成java代码是什么样子的 ,等效于out.write(值),out是响应获得的Writer,那么值从哪里来,你现在这个就是相当于“值”的位置填写的这句话getUserName() ,这是一个方法,那么是哪个对象的?所以GG很正常,3L方法是可以的,只是你需要request.方法来取得值
江湖人称二舅 2017-08-11
  • 打赏
  • 举报
回复
引用 9 楼 ly_LAN 的回复:
[quote=引用 7 楼 shuoercsdn001 的回复:] [quote=引用 6 楼 ly_LAN 的回复:] Spring MVC 传递参数 在controller 层直接写个属性 有get set 方法 和页面上的参数名一致 就可以自动获取了。 也可以用 @RequestParam("参数名") 获取
我这里的用处是这样的:前台登录页面,登陆成功后,跳转到新的主页并显示登录的用户名。这个主页和登陆页面不是同一个页面。
function onLogin() {
		if (!validate()) {
			return false;
		}
		$.ajax({
			cache : true,
			type : "POST",
			url : "${ctx }/login/login.do",
			data : $('#login').serialize(),// 你的formid
			async : false,
			error : function(request) {
				alert("Connection error");
			},
			success : function(data) {
				var result = eval('(' + data + ')');
				if (result.success) {
					window.location.href = "${ctx }/b2c/main.jsp";
				} else {
					changeV();
					$("#error").text(result.error);
					$("#err").removeClass("hidden");
					return;
				}
			}
		});
	}
这是登录的函数,登陆完之后直接跳转到main.jsp这个页面,main.jsp这个页面加载的时候就需要调用那个<%= %>。所以没法通过Controller层增加参数吧[/quote]你不要直接在前台转发。你在controller里面登陆成功之后 直接在controller 里面转发带着参数过去[/quote]好,我再去看看
江湖人称二舅 2017-08-11
  • 打赏
  • 举报
回复
引用 8 楼 Imsprojo2FAN 的回复:
你不要直接跳转到main.jsp啊,你这样要是后台没判断个session什么的只要一打开控制台看到你这段js代码就能直接跳转主页了, 可以验证成功后再请求个controller跳转到main 或验证完账号密码如果成功直接在后台跳转main好了
EasyUI貌似是有一个检测功能,如果想通过直接输入网址绕过登录访问main页面,是行不通的。这程序是别人留下的,乱七八糟的
ly_LAN 2017-08-11
  • 打赏
  • 举报
回复
引用 7 楼 shuoercsdn001 的回复:
[quote=引用 6 楼 ly_LAN 的回复:] Spring MVC 传递参数 在controller 层直接写个属性 有get set 方法 和页面上的参数名一致 就可以自动获取了。 也可以用 @RequestParam("参数名") 获取
我这里的用处是这样的:前台登录页面,登陆成功后,跳转到新的主页并显示登录的用户名。这个主页和登陆页面不是同一个页面。
function onLogin() {
		if (!validate()) {
			return false;
		}
		$.ajax({
			cache : true,
			type : "POST",
			url : "${ctx }/login/login.do",
			data : $('#login').serialize(),// 你的formid
			async : false,
			error : function(request) {
				alert("Connection error");
			},
			success : function(data) {
				var result = eval('(' + data + ')');
				if (result.success) {
					window.location.href = "${ctx }/b2c/main.jsp";
				} else {
					changeV();
					$("#error").text(result.error);
					$("#err").removeClass("hidden");
					return;
				}
			}
		});
	}
这是登录的函数,登陆完之后直接跳转到main.jsp这个页面,main.jsp这个页面加载的时候就需要调用那个<%= %>。所以没法通过Controller层增加参数吧[/quote]你不要直接在前台转发。你在controller里面登陆成功之后 直接在controller 里面转发带着参数过去
imsprojo2FAN 2017-08-11
  • 打赏
  • 举报
回复
你不要直接跳转到main.jsp啊,你这样要是后台没判断个session什么的只要一打开控制台看到你这段js代码就能直接跳转主页了, 可以验证成功后再请求个controller跳转到main 或验证完账号密码如果成功直接在后台跳转main好了
江湖人称二舅 2017-08-11
  • 打赏
  • 举报
回复
引用 6 楼 ly_LAN 的回复:
Spring MVC 传递参数 在controller 层直接写个属性 有get set 方法 和页面上的参数名一致 就可以自动获取了。 也可以用 @RequestParam("参数名") 获取
我这里的用处是这样的:前台登录页面,登陆成功后,跳转到新的主页并显示登录的用户名。这个主页和登陆页面不是同一个页面。
function onLogin() {
		if (!validate()) {
			return false;
		}
		$.ajax({
			cache : true,
			type : "POST",
			url : "${ctx }/login/login.do",
			data : $('#login').serialize(),// 你的formid
			async : false,
			error : function(request) {
				alert("Connection error");
			},
			success : function(data) {
				var result = eval('(' + data + ')');
				if (result.success) {
					window.location.href = "${ctx }/b2c/main.jsp";
				} else {
					changeV();
					$("#error").text(result.error);
					$("#err").removeClass("hidden");
					return;
				}
			}
		});
	}
这是登录的函数,登陆完之后直接跳转到main.jsp这个页面,main.jsp这个页面加载的时候就需要调用那个<%= %>。所以没法通过Controller层增加参数吧
ly_LAN 2017-08-11
  • 打赏
  • 举报
回复
Spring MVC 传递参数 在controller 层直接写个属性 有get set 方法 和页面上的参数名一致 就可以自动获取了。 也可以用 @RequestParam("参数名") 获取
江湖人称二舅 2017-08-11
  • 打赏
  • 举报
回复
引用 3 楼 powo4958 的回复:
request.setAttrabute();
想过,但是觉得行不通。我这里的用处是这样的:前台登录页面,登陆成功后,跳转到新的主页并显示登录的用户名。这个主页和登陆页面不是同一个页面
江湖人称二舅 2017-08-11
  • 打赏
  • 举报
回复
引用 2 楼 ly_LAN 的回复:
你用的是servlet 还是 框架?
应该是框架吧,前台用的EasyUI,后台是springMVC
powo4958 2017-08-11
  • 打赏
  • 举报
回复
request.setAttrabute();
ly_LAN 2017-08-11
  • 打赏
  • 举报
回复
你用的是servlet 还是 框架?

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧