jsp表单回显与提交

(1)编辑界面,placeholder="提示",由方法中的model中的数据进行显示。里面name的值与domain中你的字段相同,这样提交才能自动封装进去。表单中可以使用value="#"做一个默认值,这样表单提交的时候不会出现提交错误。

jsp界面

<table align="center" border="1" width="50%px">
    <tr>
        <td><h5>修改管理员</h5></td>
    </tr>
    <tr>
        <td>
            <form action="${pageContext.request.contextPath}/partner/insert" method="post" enctype="multipart/form-data">
                <input type="text" placeholder="合作伙伴名称"  value="${byId.partner_name}"           name="partner_name"/><br/>
                <input type="text" placeholder="url地址"       value="${byId.url_address}"           name="url_address"/><br/>
                <select name="state">
                             <option selected="selected" value="#">请选择</option>
                             <option value="1" <c:if test="${dto.prizepool.status eq '1'}"> selected="selected"</c:if>>启用</option>
                             <option value="0" <c:if test="${dto.prizepool.status eq '0'}"> selected="selected"</c:if>>禁用</option>
                </select><br/><br/>
                <input type="file" placeholder=" 上传logo文件" name="upload"/><br/>

                <input type="text" placeholder="排序"  value="${byId.id}"        name="id"/><br/>

                <input type="submit" value="保存">&nbsp;&nbsp;
                <input type=button value=返回 onclick="window.history.back()">
            </form>
        </td>
    </tr>
</table>

 

 

 

java方法接受处理,AdminPartner类型接收属于它的类型,如表单中没有的数据库内容,可在方法中进行赋值,MultipartFile接受上传的文件,另外,如上传的表单中没有填写完全,表单是无法提交的,需要进行默认值。此处的上传文件,还牵涉到配置问题见文末。

    @RequestMapping("/insert")
    public String insetPartner(AdminPartner adminPartner,HttpServletRequest request, MultipartFile upload) throws IOException {
        System.out.println("springmvc文件上传...");
        //上传的位置
        String path = request.getSession().getServletContext().getRealPath("/partnerimges/");
        //判断该路径是否存在
        File file = new File(path);
        if (!file.exists()) {
            file.mkdirs();
        }
        //上传文件项
        String filename = upload.getOriginalFilename();
        String uuid = UUID.randomUUID().toString().replace("-", "");
        String saveName = uuid + "_" + filename.substring(filename.lastIndexOf(File.separator)+1);
        //新的图片
        File nwefile = new File(path, saveName);
        //把内存图片写入到磁盘中
        upload.transferTo(nwefile);
        adminPartner.setLogo_url(saveName);//添加名
        adminPartner.setCreate_time(new Date());//添加创建时间


        if (partnerService.findById(adminPartner) == null) {
            partnerService.savePartner(adminPartner);
        } else{
            partnerService.updatePartner(adminPartner);
        }

        return "Partner-list";
    }

 

(2)显示界面,把表现层存在model中的数据遍历出显示,下面的按钮对应不同的方法需要自行撰写。

<table align="center" border="1" width="50%px" >
    <tr>
        <th>序号</th>
        <th>logo</th>
        <th>合作伙伴名称</th>
        <th>Url路径</th>
        <th>状态</th>
        <th>创建时间</th>

    </tr>
    <c:forEach items="${allPartner}" var="partner">
        <tr>
            <th>${partner.id}</th>
            <th><img src="${pageContext.request.contextPath}/partnerimges/${partner.logo_url}" /></th>
            <th>${partner.partner_name}</th>
            <th>${partner.url_address}</th>
            <th>${partner.state}</th>
            <th>${partner.create_time}</th>
            <th>
                <button onclick="window.open('${pageContext.request.contextPath}/partner/findById?id=${partner.id}')" type="submit"  >修改</button>
            </th>
        </tr>

    </c:forEach>
    <th>
        <a href="${pageContext.request.contextPath}/pages/Partner-edit.jsp">
            <button>新增</button>
        </a>
    </th>
</table>
 /*查询所有patner*/
    @RequestMapping("/findAll")
    public String findAllPartner(Model model){
        List<AdminPartner> allPartner = partnerService.findAllPartner();
        model.addAttribute("allPartner",allPartner);
        return "Partner-list";
    }

 

(3)表单回显

<table border="1">
    <tr>
    <td colspan='8' style="height:40px"><h5>管理员</h5></td>
    </tr>
    <tr>
        <td colspan='8' style="height:40px">
            <form style="display: inline" action="${pageContext.request.contextPath}/admin/findUserByName">
                用户名:<input type="text" name="user_name"/>&nbsp;&nbsp;
                <input type="submit" value="查询"/>
            </form>
            &nbsp;&nbsp;状&nbsp;态:
            <select class="form-control" name="statu" id="changeStatus">
                <option selected="selected">全部</option>
                <option value="true">启用</option>
                <option value="false">禁用</option>
            </select>
        </td>
    </tr>
    <tr>
        <td>序号</td>
        <td>用户名</td>
        <td>真实姓名</td>
        <td>角色权限</td>
        <td>状态</td>
        <td>创建时间</td>
        <td>最近登录</td>
        <td>操作</td>
    </tr>
    <c:forEach items="${adminList}" var="admin">
        <tr>
            <td>${admin.id}</td>
            <td>${admin.user_name}</td>
            <td>${admin.real_name}</td>
            <td>${admin.role_name}</td>
            <td>
                <c:choose>
                    <c:when test="${admin.status==true}">启用</c:when>
                    <c:when test="${admin.status==false}">禁用</c:when>
                </c:choose>
            </td>
            <td>${admin.regist_timeStr}</td>
            <td>${admin.last_login_timeStr}</td>
            <td><a href="${pageContext.request.contextPath}/admin/toChange?id=${admin.id}">修改</a></td>
        </tr>
    </c:forEach>
</table>
<br/>
<%--${pageContext.request.contextPath} 工程路径--%>
<a href="${pageContext.request.contextPath}/admin/toAdd">
    <button>新增</button>
</a>

 

 

(4).添加jsp时间选项+后台sql

        <form>
 <!-- 追加注册时间查询 -->
            <div class="form-group" style="margin-left: -15px;margin-top: 10px">
                <label for="" class="col-md-3 control-label"
                       style="margin-left: 32px;">
                    操作时间
                </label>
                <div class="col-md-6" style="margin-top: -38px;margin-left: 80px;width: 360px;">
                    <input type="text" id="startTime" name="startTime" class="form-control Wdate"
                           value="${query.startTime }" style="width: 150px;height: 30px;cursor: hand;"
                           onClick="WdatePicker()" autocomplete="off">
                    <span>至</span>
                    <input type="text" id="endTime" name="endTime" class="form-control Wdate"
                           value="${query.endTime}" style="width: 150px;height: 30px;cursor: hand;"
                           onClick="WdatePicker()" autocomplete="off">
                </div>
            </div>
            <button type="submit" class="btn btn-primary">查询</button>&nbsp;&nbsp;
            <button type="submit" class="btn btn-default" onclick="cle();">重置</button>
        </form>

<script type="text/javascript">
    /*
     * 清除
     */
    function cle(){
        $("#logsStatus").val("");
        $("#logsType").val("");
        $("#startTime").val("");
        $("#endTime").val("");
    }
</script>

后台sql

 public List<GoodsEsLog> findAll(GoodsEsQuery goodsEsQuery) {
        QueryWrapper<GoodsEsLog> wrapper = new QueryWrapper<GoodsEsLog>();
        if (StringUtils.isNotBlank(goodsEsQuery.getLogsFlag())) {
            wrapper.eq("logs_flag", goodsEsQuery.getLogsFlag());
        }
        if (StringUtils.isNotBlank(goodsEsQuery.getLogsMsg())) {
            wrapper.eq("logs_msg", goodsEsQuery.getLogsMsg());
        }
        if (StringUtils.isNotBlank(goodsEsQuery.getLogsStatus())) {
            wrapper.eq("logs_status", goodsEsQuery.getLogsStatus());
        }
        if (StringUtils.isNotBlank(goodsEsQuery.getLogsType())) {
            wrapper.eq("logs_type", goodsEsQuery.getLogsType());
        }
        if (StringUtils.isNotBlank(goodsEsQuery.getParamIds())) {
            wrapper.eq("logs_paramIds", goodsEsQuery.getParamIds());
        }
        if (StringUtils.isNotBlank(goodsEsQuery.getLogsTime())) {
            wrapper.eq("date_format(logs_time,'%Y-%m-%d')", goodsEsQuery.getLogsTime());
        }
        if (StringUtils.isNotBlank(goodsEsQuery.getStartTime())) {
            wrapper.ge("date_format(logs_time,'%Y-%m-%d')", goodsEsQuery.getStartTime());
        }
        if (StringUtils.isNotBlank(goodsEsQuery.getEndTime())) {
            wrapper.le("date_format(logs_time,'%Y-%m-%d')", goodsEsQuery.getEndTime());
        }
        wrapper.orderByDesc("logs_time");
        List<GoodsEsLog> goodsEsLogList = goodsEsLogDao.selectList(wrapper);
        return goodsEsLogList;
    }

 


附:上传文件配置部分

pom.xml

           <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
             <version>2.4</version>
           </dependency>
           
           <dependency>
             <groupId>commons-fileupload</groupId>
             <artifactId>commons-fileupload</artifactId>
             <version>1.3.1</version>
           </dependency>
           
           <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-lang3</artifactId>
             <version>3.3.2</version>
           </dependency>

SpringMVC

<!-- 支持文件上传 -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- 设定默认编码 -->
        <property name="defaultEncoding" value="UTF-8"/>
        <!-- 设定文件上传的最大值5MB,5*1024*1024 -->
        <property name="maxUploadSize" value="5242880"/>

    </bean>

SpringMVC配置多个视图解析器

可以使得多个文件夹下的jsp文件得以访问

<!--配置的视图解析器对象-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/pages/"/>
        <property name="suffix" value=".jsp"/>
        <property name="order" value="0"></property>
    </bean>
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/partnerimges/" />
        <property name="suffix" value=".jsp" />
        <property name="order" value="1"></property>
    </bean>

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值