博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts+spring+hibernate的web应用<四> Web层代码编写(2)
阅读量:4221 次
发布时间:2019-05-26

本文共 12077 字,大约阅读时间需要 40 分钟。

接着就是写资源文件了。

在com.game.resources包中添加ApplicationResourcesProducts.properties文件。如果你的eclipse中有Properties Editor这个插件,就可以用Properties Editor打开资源文件进行编写,省去了用命令行转换格式的麻烦。配置内容如下:

errors.required={0}不能为空.
errors.minlength={0}不能小于 {1} 个字符.
errors.maxlength={0}不能大于 {1} 个字符.
errors.invalid={0}输入格式不对.
errors.byte={0}必须为字节.
errors.short={0}必须为短整型.
errors.integer={0}必须为整型.
errors.long={0}必须为长整型.
errors.float={0}必须为浮点型.
errors.double={0}必须为双精度型.
errors.date={0}不是一个正确的日期或格式不对.
errors.range={0} is not in the range {1} through {2}.
errors.creditcard={0} is not a valid credit card number.
errors.email={0}不是一个有效的email地址.
errors.gameNameCn=游戏中文名称
errors.gameNameEn=游戏英文名称
errors.gameCapacity=碟数
errors.gamePrice=价格

 

需要注意的是

 ssh3.jpg

这一节是不能省去的。

 

接下来就是写页面文件了。在products文件夹中添加如下页面。

 

index.jsp页面代码:

<%
@ page contentType="text/html;charset=GBK" language="java" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<title>游戏软件管理系统</title>
</head>
<body>
<a href="/game/getProducts.do?method=doGetProducts&&flag=1">进入游戏软件管理单元</a>
</body>
</html>

 

 

products.jsp页面代码:

<%
@page pageEncoding="GBK" contentType="text/html; charset=GBK" import="com.game.commons.Pager;"%>
<%
@ taglib uri="struts-html" prefix="html" %>
<%
@ taglib uri="struts-logic" prefix="logic" %>
<%
@ taglib uri="struts-bean" prefix="bean" %>
<%
String flag=(String)request.getAttribute("flag");
String totalRows=(String)request.getAttribute("totalRows");
String fieldname="";
String value="";
if(flag.equals("2")){
    fieldname=(String)request.getAttribute("fieldname");
    value=(String)request.getAttribute("value");
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<title></title>
<script language = "JavaScript">
function btnQuery() 
{
    if(myfm.value.value=="")
    
{    
        alert("请输入查询关键字!");
    }else
{
        window.location.href="/game/queryProducts.do?method=doQueryProduct&&flag=2&&fieldname="+myfm.fieldname.value+"&&value="+myfm.value.value;
     }
 }
 </script>
</head>
<body>
<form  name="myfm" method="post">
<table border="1">
<tr>
<td>
<a href="/game/getProducts.do?method=doGetProducts&&flag=1">察看所有记录</a>
&nbsp;&nbsp;&nbsp;
</td>
<td>
<a href="/game/addProductPage.do?method=doAddProductPage&&flag=<%= flag%>&&fieldname=<%=fieldname%>&&value=<%= value%>">添加</a>
&nbsp;&nbsp;&nbsp;
</td>
<td>
    <select name="fieldname" >
        <option value="gameNameCn">中文名称</option>
        <option value="gameNameEn">英文名称</option>
        <option value="gameCapacity">碟数</option>
        <option value="gameVersion">版本</option>
        <option value="gameMedia">介质</option>
        <option value="gameCopyright">版权</option>
    </select>
    <input value="" name="value"  />
<a href="#" οnclick="btnQuery()">查询</a>
</td>
</tr>
</table>
<br>
<br>
  
<table border="1">
    <tr>
        <td>游戏中文名称</td>
        <td>游戏英文名称</td>
        <td>软件版本</td>
        <td>软件介质</td>
        <td>碟数</td>
        <td>版权</td>
        <td>价格(元)</td>
        <td>攻略</td>
    </tr>
    <logic:iterate id="pd" name="productsList">
    <tr>
        <td><a href="/game/getProduct.do?method=doGetProduct&&flag=<%=flag%>&&gameId=<bean:write name="pd" property="gameId"/>&&flag=<%= flag%>&&fieldname=<%=fieldname%>&&value=<%= value%>"><bean:write name="pd" property="gameNameCn"/></a></td>
        <td><bean:write name="pd" property="gameNameEn"/></td>
        <td>
            <logic:equal name="pd" property="gameVersion" value="1">
                中文版
            </logic:equal>
            <logic:equal name="pd" property="gameVersion" value="2">
                英文版
            </logic:equal>
        </td>
        <td>
            <logic:equal name="pd" property="gameMedia" value="1">
                CD
            </logic:equal>
            <logic:equal name="pd" property="gameMedia" value="2">
                DVD5
            </logic:equal>
            <logic:equal name="pd" property="gameMedia" value="3">
                DVD9
            </logic:equal>
        </td>
        <td><bean:write name="pd" property="gameCapacity"/></td>
        <td>
            <logic:equal name="pd" property="gameCopyright" value="1">
                正版
            </logic:equal>
            <logic:equal name="pd" property="gameCopyright" value="2">
                翻版
            </logic:equal>
        </td>
        <td><bean:write name="pd" property="gamePrice"/></td>
        <td><bean:write name="pd" property="gameContent"/></td>
    </tr>
    </logic:iterate>
    <tr>
        <%
if(flag.equals("1")){%>
            <td colspan="8" align="right" class="head">
                共有<%=totalRows%>条记录&nbsp;&nbsp;&nbsp;&nbsp;
                第<bean:write name="PAGER" property="currentPage"/>页&nbsp;
                共<bean:write name="PAGER" property="totalPages"/>页&nbsp;
                <html:link action="/getProducts.do?method=doGetProducts&&flag=1&&pagerMethod=first" paramName="PAGER" paramProperty="currentPage" paramId="currentPage">首页</html:link>
                <html:link action="/getProducts.do?method=doGetProducts&&flag=1&&pagerMethod=previous" paramName="PAGER" paramProperty="currentPage" paramId="currentPage">上一页</html:link>
                <html:link action="/getProducts.do?method=doGetProducts&&flag=1&&pagerMethod=next" paramName="PAGER" paramProperty="currentPage" paramId="currentPage">下一页</html:link>
                <html:link action="/getProducts.do?method=doGetProducts&&flag=1&&pagerMethod=last" paramName="PAGER" paramProperty="currentPage" paramId="currentPage">尾页</html:link>
            </td>    
        <%
}else if(flag.equals("2")){%>
        <%
 Pager pager=(Pager)request.getAttribute("PAGER");%>
            <td colspan="8" align="right" class="head">
                共有<%=totalRows%>条记录&nbsp;&nbsp;&nbsp;&nbsp;
                第<bean:write name="PAGER" property="currentPage"/>页&nbsp;
                共<bean:write name="PAGER" property="totalPages"/>页&nbsp;
                <a href="/game/queryProducts.do?method=doQueryProduct&&flag=2&&fieldname=<%=fieldname%>&&value=<%= value%>&&pagerMethod=first&&currentPage=<%=pager.getCurrentPage()%>" >首页</a>
                <a href="/game/queryProducts.do?method=doQueryProduct&&flag=2&&fieldname=<%=fieldname%>&&value=<%= value%>&&pagerMethod=previous&&currentPage=<%=pager.getCurrentPage()%>" >上一页</a>
                <a href="/game/queryProducts.do?method=doQueryProduct&&flag=2&&fieldname=<%=fieldname%>&&value=<%= value%>&&pagerMethod=next&&currentPage=<%=pager.getCurrentPage()%>" >下一页</a>
                <a href="/game/queryProducts.do?method=doQueryProduct&&flag=2&&fieldname=<%=fieldname%>&&value=<%= value%>&&pagerMethod=last&&currentPage=<%=pager.getCurrentPage()%>" >尾页</a>
                
            </td>    
        <%}%>
    </tr>
</table>
</form>
</body>
</html>

addproduct.jsp页面代码:

<%
@page pageEncoding="GBK" contentType="text/html; charset=GBK" %>
<%
@ taglib uri="struts-html" prefix="html" %>
<%
@ taglib uri="struts-logic" prefix="logic" %>
<%
@ taglib uri="struts-bean" prefix="bean" %>
<%
String flag=(String)request.getAttribute("flag");
String fieldname="";
String value="";
if(flag.equals("2")){
    fieldname=(String)request.getAttribute("fieldname");
    value=(String)request.getAttribute("value");
}
String maxid=(String)request.getAttribute("maxid");
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<title></title>
<html:base/>
<html:javascript formName="productsForm" method="validate"/>
<script Language="JavaScript">
       function btn_AddFolder() 
{
           if(confirm("确定要保存吗?"))
{
            if(document.productsForm.onsubmit())
{        
                document.forms[0].submit();
            }
        }  
    }
</script>
</head>
<body>
<a href="/game/returnProduct.do?method=doReturnProduct&&flag=<%= flag%>&&fieldname=<%=fieldname%>&&value=<%= value%>">返回</a>
<html:form action="/addProduct.do" οnsubmit="return validate(this)">
<table border="1">
    <tr>
        <td>游戏中文名称</td>
        <td>游戏英文名称</td>
        <td>软件版本</td>
        <td>软件介质</td>
        <td>碟数</td>
        <td>版权</td>
        <td>价格(元)</td>
        <td>攻略</td>
    </tr>
    <tr>
        <td><html:text property="gameNameCn"/></td>
        <td><html:text property="gameNameEn"/></td>
        <td>
            <html:select property="gameVersion" >
                  <html:option value= "2">英文版&nbsp;&nbsp;&nbsp;&nbsp;</html:option>
                  <html:option value= "1">中文版</html:option>
              </html:select>   
        </td>
        <td>
            <html:select property="gameMedia" >
                  <html:option value= "1">CD&nbsp;&nbsp;&nbsp;&nbsp;</html:option>
                  <html:option value= "2">DVD5</html:option>
                  <html:option value= "3">DVD9</html:option>
              </html:select>   
        </td>
        <td><html:text property="gameCapacity" size="5"/></td>
        <td>
            <html:select property="gameCopyright" >
                  <html:option value= "2">翻版&nbsp;&nbsp;&nbsp;&nbsp;</html:option>
                  <html:option value= "1">正版</html:option>
              </html:select>  
        </td>
        <td><html:text property="gamePrice"/></td>
        <td><html:text property="gameContent"/></td>
    </tr>
    
</table>
<html:hidden property="gameId" value="<%= maxid%>"/>
<html:hidden property="method" value="doAddProduct"/>
<html:hidden property="flag" value="<%= flag%>"/>
<html:hidden property="fieldname" value="<%= fieldname%>"/>
<html:hidden property="value" value="<%=value%>"/>
<input type="button" value="保存" οnclick="btn_AddFolder()"/>
</html:form>
</body>
</html>

product.jsp页面代码:

<%
@page pageEncoding="GBK" contentType="text/html; charset=GBK" %>
<%
@ taglib uri="struts-html" prefix="html" %>
<%
@ taglib uri="struts-logic" prefix="logic" %>
<%
@ taglib uri="struts-bean" prefix="bean" %>
<%
String flag=(String)request.getAttribute("flag");
String fieldname="";
String value="";
if(flag.equals("2")){
    fieldname=(String)request.getAttribute("fieldname");
    value=(String)request.getAttribute("value");
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<title></title>
<html:javascript formName="productsForm" method="validate"/>
</head>
<body>
<a href="/game/addProductPage.do?method=doAddProductPage&&flag=<%= flag%>&&fieldname=<%=fieldname%>&&value=<%= value%>">添加</a> &nbsp;&nbsp;&nbsp;
<a href="/game/returnProduct.do?method=doReturnProduct&&flag=<%= flag%>&&fieldname=<%=fieldname%>&&value=<%= value%>">返回</a>&nbsp;&nbsp;&nbsp;
<a href="/game/deleteProduct.do?method=doDeleteProduct&&flag=<%= flag%>&&gameId=<bean:write name="pd" property="gameId"/>&&fieldname=<%=fieldname%>&&value=<%= value%>">删除</a>
<br>
<br>
<html:form action="/updateProduct.do" οnsubmit="return validate(this)">
<table border="1">
    <tr>
        <td>游戏中文名称</td>
        <td>游戏英文名称</td>
        <td>软件版本</td>
        <td>软件介质</td>
        <td>碟数</td>
        <td>版权</td>
        <td>价格(元)</td>
        <td>攻略</td>
    </tr>
    <tr>
        <td><html:text name="pd" property="gameNameCn"/></td>
        <td><html:text name="pd" property="gameNameEn"/></td>
        <td>
            <html:select name="pd" property="gameVersion" >
                  <html:option value= "1">中文版&nbsp;&nbsp;&nbsp;&nbsp;</html:option>
                  <html:option value= "2">英文版</html:option>
              </html:select> 
        </td>
        <td>
            <html:select name="pd" property="gameMedia" >
                  <html:option value= "1">CD&nbsp;&nbsp;&nbsp;&nbsp;</html:option>
                  <html:option value= "2">DVD5</html:option>
                  <html:option value= "3">DVD9</html:option>
              </html:select>  
        </td>
        <td><html:text name="pd" property="gameCapacity" size="5"/></td>
        <td>
            <html:select name="pd" property="gameCopyright" >
                  <html:option value= "1">正版&nbsp;&nbsp;&nbsp;&nbsp;</html:option>
                  <html:option value= "2">翻版</html:option>
              </html:select>  
        </td>
        <td><html:text name="pd" property="gamePrice" size="10"/></td>
        <td><html:text name="pd" property="gameContent"/></td>
    </tr>
    
</table>
<html:hidden property="method" value="doUpdateProduct"/>
<html:hidden name="pd" property="gameId" />
<html:hidden property="flag" value="<%= flag%>"/>
<html:hidden property="fieldname" value="<%= fieldname%>"/>
<html:hidden property="value" value="<%=value%>"/>
<html:submit property="submit" value="保存"></html:submit>
</html:form>
</body>
</html>

product_success.jsp页面代码:

<%
@page pageEncoding="GBK" contentType="text/html; charset=GBK" %>
<%
String flag=(String)request.getAttribute("flag");
String fieldname="";
String value="";
if(flag.equals("2")){
    fieldname=(String)request.getAttribute("fieldname");
    value=(String)request.getAttribute("value");
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<title></title>
</head>
<body>
操作成功!
<a href="/game/returnProduct.do?method=doReturnProduct&&flag=<%= flag%>&&fieldname=<%=fieldname%>&&value=<%= value%>">返回</a>
<a href="/game/addProductPage.do?method=doAddProductPage&&flag=<%= flag%>&&fieldname=<%=fieldname%>&&value=<%= value%>">继续添加</a>
</body>
</html>

 

product_failure.jsp页面代码:

 

<%
@page pageEncoding="GBK" contentType="text/html; charset=GBK" %>
<%
String flag=(String)request.getAttribute("flag");
String fieldname="";
String value="";
if(flag.equals("2")){
    fieldname=(String)request.getAttribute("fieldname");
    value=(String)request.getAttribute("value");
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<title></title>
</head>
<body>
操作失败!
<a href="/game/returnProduct.do?method=doReturnProduct&&flag=<%= flag%>&&fieldname=<%=fieldname%>&&value=<%= value%>">返回</a>
</body>
</html>

 

最后在tld文件夹中添加下列tld文件。

 

 

至此,整个项目基本编写完了,运行tomcat,看看我们的项目的效果吧!

在地址栏输入

转载地址:http://fclmi.baihongyu.com/

你可能感兴趣的文章
MapReduce Task数目划分
查看>>
3126 Prime Path
查看>>
app自动化测试---ADBInterface驱动安装失败问题:
查看>>
九度OJ 1091:棋盘游戏 (DP、BFS、DFS、剪枝)
查看>>
c++使用宏检测类是否包含某个函数或者变量属性
查看>>
CSS之Multi-columns的column-gap和column-rule
查看>>
CSS之Multi-columns的跨列
查看>>
CSS之浮动(一)
查看>>
CSS之浮动(二)
查看>>
AtomicInteger源码解析
查看>>
CopyOnWriteArraySet源码学习
查看>>
Openfiler 配置 NFS 示例
查看>>
Oracle 11.2.0.1 RAC GRID 无法启动 : Oracle High Availability Services startup failed
查看>>
Oracle 18c 单实例安装手册 详细截图版
查看>>
Oracle Linux 6.1 + Oracle 11.2.0.1 RAC + RAW 安装文档
查看>>
Oracle 11g 新特性 -- Online Patching (Hot Patching 热补丁)说明
查看>>
Oracle 11g 新特性 -- ASM 增强 说明
查看>>
Oracle 11g 新特性 -- Database Replay (重演) 说明
查看>>
Oracle 11g 新特性 -- 自动诊断资料档案库(ADR) 说明
查看>>
Oracle 11g 新特性 -- RMAN Data Recovery Advisor(DRA) 说明
查看>>