今天在昨天的基础上进一步补充了业务层的需求,实现了从jsp上对数据库进行操作,如:分页显示,修改状态,修改角色,重置密码。初步学习了C标签的使用,对代码的阅读与编写有了一点提升(继续加油啊!!)。
OK,言归正传,今天多多少少也遇到了一些问题,下面简单的说一下遇到的问题和解决方法。
一、今天早上来到实验室时打开电脑发现eclipse因为JRE的路径出现问题打不开,原因是因为昨天配置TomCat系统路径时把JAVA_HOME路径改了,将JRE放进JAVA_HOME的路径就可以了。
二、修改状态:先在WebContent下新建一个updateStatu.jsp,在Control新建一个LoadUpdateUserServlet和updateStatuServlet。
在Index.jsp中写下:
<
td
><
a
href
=
"LoadUpdateUserServlet?id=
${u.id}
&i=1"
>
修改状态
</
a
></
td
>
跳转进LoadUpdateUserServlet中 ,在LoadUpdateUserServlet中根据id与i进行判断是否进入updateStatu.jsp中,注意数据接收时需要通过request.getParameter进行接收。具体代码如下:
String
sid
=
request
.getParameter(
"id"
);
String
si
=
request
.getParameter(
"i"
);
UserService
us
=
new
UserServiceImpl();
User
u
=
us
.findByID(Integer.
parseInt
(
sid
));
int
i
=Integer.
parseInt
(
si
);
简单设计一下页面布置,将Action设为-------
action=“updateStatuServlet?id=${u.id}”---------当点击button时进入updateStatuServlet,通过
updateStatus
进行更新,代码如下:
String
status
=
request
.getParameter(
"status"
);
String
sid
=
request
.getParameter(
"id"
);
if
(
sid
!=
null
&&
status
!=
null
) {
UserService
us
=
new
UserServiceImpl();
boolean
flag
=
us
.updateStatus(Integer.
parseInt
(
sid
), Integer.
parseInt
(
status
));
if(flag) {
request.getRequestDispatcher("ListByPageServlet").forward(request, response);
}else
{
request.getRequestDispatcher("updateStatusServlet").forward(request, response);
}
}
修改角色和重置密码也是这种方式。
三、由于我使用的是Eclipse,软件没有自带C标签的jar包,需要上网下载一个关于C标签的jar包,百度就能找到了。
将jar包放进WebContent---->WEB-INF---->lib中,buildPath
并在对应的jsp中加入以下语句:
<%@
taglib
prefix
=
"c"
uri
=
"
http://java.sun.com/jsp/jstl/core
"
%>