qq_山有扶苏隰有荷华_cfhqxY
代码写错了
qq_慕仰8138156
getxxx setxxx 意義在於 封裝了類來獲取對象的屬性和方法,單獨傳遞參數不用它也能實現效果,但是真正的項目中是不可能僅僅兩個參數傳遞的。
慕清岭
慕雪0303456
这里的呢个通过url 赋值没有修改,password 用的是url赋值,username 是getproperty赋值的 ,可以看出来的,别的都注释了
慕数据612857
你在form标签的 action属性的值 有没有修改?
<from action="dologin.jsp?mypass=999"
精神第一性
id的名字你可以自己随便取(只要符合java标识符规范就行)
qq_十三夫人_0
你好像没有设置属性值,可以用表单自动全部匹配<jsp:setProperty name="loginUser" property="*"/>之后在获取用户名,密码什么的
hereandthere4387547
dologin2.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'dologin2.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<jsp:useBean id="myUsers" class="com.po.Users" scope="page"/>
<h1>setProperty动作元素的使用方法</h1>
<hr>
<!-- 根据表单自动匹配所有的属性 -->
<%--
<jsp:setProperty name="myUsers" property="*"/>
--%>
<!-- 根据表单匹配部分的属性 -->
<%--
<jsp:setProperty name="myUsers" property="username"/>
--%>
<!-- 跟表单无关通过手工赋值给属性 -->
<jsp:setProperty name="myUsers" property="username" value=“lisi” />
<jsp:setProperty name="myUsers" property="password" value=“1234ss”/>
<!-- 通过URL传参数给属性赋值 -->
<%--
<jsp:setProperty name="myUsers" property="username" param="mypass" />
--%>
<!-- 使用传统的表达式方式来获取用户名和密码 -->
<%--
用户名:<%=myUsers.getUsername() %><br>
密码:<%=myUsers.getPassword() %><br>
--%>
<!-- 使用getProperty方式获取用户名和密码 -->
用户名:<jsp:getProperty name="myUsers" property="username"/><br>
密码:<jsp:getProperty property="password" name="myUsers"/>
</body>
</html>
注释去了之后出现了如下错误
HTTP Status 500 - /dologin2.jsp (line: 40, column: 62) quote symbol expected
type Exception report
message /dologin2.jsp (line: 40, column: 62) quote symbol expected
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: /dologin2.jsp (line: 40, column: 62) quote symbol expected
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:443)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:89)
org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:222)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:162)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:153)
org.apache.jasper.compiler.Parser.parseSetProperty(Parser.java:897)
org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1118)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1434)
org.apache.jasper.compiler.Parser.parse(Parser.java:138)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:199)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:374)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:341)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.56 logs.
Apache Tomcat/7.0.56
hereandthere4387547
<form action="dologin2.jsp?mypass=1234" name="loginForm" method="post">
手工赋值应该用get方法吧,你这里用?mypass=1234明显应该用get
0_0trouble
因为你没有给属性设置值
彭小呆
首先getProperty不是从表单获取数据,而只是读取user对象中属性的值;
user对象中属性的值是通过setProperty设置的,而你上面的代码在设置密码时,用了param属性
所以是从url中读取数据,而不是从表单读取
假如真
<%request.setCharacterEncoding("utf-8"); %>
额,我刚把问题发布出来发现楼下已经有答案了,尴尬。。。
浪迹天涯小辛子
在dologin.jsp里加上
<%
request.setCharacterEncoding("UTF-8");
%>
就可以了


桃之夭夭sky
老师的没有空格也是因为上面的有两行代码
<jsp:setProperty property="username" name="myUser" />
<jsp:setProperty property="password" name="myUser" param="mypass"/>
没有注释 ,你看到的结果 其实是这两行代码的结果,所以你运行的结果为null,老师这是指导错了!
努力GOGO
<jsp:useBean id="实例化对象名" class="所定义的类"
用户名:<jsp:getProperty property="username" name="实例化对象名"/><br>
JodenHe
这个是浏览器的自身实现的,不同的浏览器对不同的控件有不同的绘制方法,它也可以加入不同的功能,课程里面好像是搜狗浏览器,它就会在密码框后加入一个虚拟键盘的功能。
燚焱炎火是fireman
<jsp:getproperty>表示获取属性值,<jsp:setproperty>表示设置属性值,你所说的一起使用,是不用set动作,直接用get获取不到属性值吧。明白两个属性的意思应该理解了吧
我是方法
scope取值page:有效范围为包含<jsp:useBean>元素的JSP文件以及此文件中的所有静态包含文件,直到页面执行完毕向客户端发回响应或转到另一个页面为止.JavaBean实例被保存在当前页面的pageContent对象内.用户可以通过隐含对象pageContext访问JavaBean.代码如下: pageContext.getAttribu(beanIntanceName) 其中beanInstanceName为useBean标签中声明JavaBean实例的id属性值.
scope取值request:有效范围为任何执行相同请求的JSP页面中,直到页面执行完毕向客户端发回响应或转到另一个页面为止.JavaBean实例被保存在ServletRequest对象内.用户可以通过隐含对象request访问JavaBean.代码如下: request.getAttribute(beanInstanceName) 其中beanInstanceName为useBean标签中声明JavaBean实例的id属性值.
ziom
从本质上来说是一样,不存在谁好谁坏。用动作标签可以使jsp页面里少出现java代码,而用表达式则更方便。
老牛_xuyh
越南毒贩
因为你没有用setProperty()方法
暴暴蓝
老师用之前的<jsp:setProperty name="myUser" property="password" prama="myPass">方式,即第四种.
在表单中在<form action="xxx.jsp?myPass=999999">中设置了request对象的参数myPass,所以浏览器会显示URL传参的那个值.