精华内容
下载资源
问答
  • Java控件(日常笔记)

    2019-10-09 03:03:39
    Java的一些控件 text:文本区域 readonly属性:是否只读... name属性:指定多个单选框的在一个区域里进行单选操作reset:重置当前<form>表单里所有标签到初始化状态(如清除文本区域内容)submit:提交当前&...

    Java的一些控件

    text:文本区域
        readonly属性:是否只读。
    password:密码区域,输入的文本以'*'展示
    checkbox:复选框
        checked属性:是否选中;
    radio:单选框;
        name属性:指定多个单选框的在一个区域里进行单选操作
    reset:重置当前<form>表单里所有标签到初始化状态(如清除文本区域内容)
    submit:提交当前<form>表单信息到指定页面
    button:普通按钮
        value属性:button按钮显示的文本
    file:文件选择标签
    hide:隐藏区域,可以把一些不展示给用户,而自己使用的信息存放于此
    image:图片区域
        src属性:指定图片存放的路径;
        title属性:鼠标移到图上显示的文本;
        alt:图片加载失败或关闭时,显示的文本;

    下达框:

     

    转载于:https://www.cnblogs.com/AngelKing1111/p/6089500.html

    展开全文
  • Java窗体元素控件用法实例集源码,用Java创建窗体按钮、图标、按下图标和翻转图标、复选框、单选按钮、标签、文本域、、组合框、列表框、滚动条、滑块、创建多个窗口以及元素对齐等方面的操作技巧,比较实用吧!
  • <... name属性:指定多个单选框的在一个区域里进行单选操作 reset:重置当前<form>表单里所有标签到初始化状态(如清除文本区域内容) submit:提交当前<form>表单信息到指定页面 but
  • java 多上传多个文件

    2020-11-11 09:15:50
    首先获取ID为fileField控件的files,然后创建一formData,通过循环将每一文件放入formData中。最后使用ajax将formData传递至后台。 3.后台Controller 后台通过MultipartFile[] file 数组形式接收前台传递的文件...

    1.前台html
    使用input标签,设置type=“file”,multiple=“multiple”
    在这里插入图片描述
    2.前台js
    在这里插入图片描述
    首先获取ID为fileField控件的files,然后创建一个formData,通过循环将每一个文件放入formData中。最后使用ajax将formData传递至后台。

    3.后台Controller

    在这里插入图片描述
    后台通过MultipartFile[] file 数组形式接收前台传递的文件即可。使用循环即可对每个文件进行操作。

    展开全文
  • java自定义分页标签

    2017-08-30 14:08:19
    为什么需要自定义标签在开发项目过程中,我们经常有这样的体会:同一个控件我们可能处使用,同时我们需要在基础的样式上加上自己的样式和操作的js代码;遇到这种情况,如果每地方都copy代码的话那么,后期如果要...

    为什么需要自定义标签

    在开发项目过程中,我们经常有这样的体会:同一个控件我们可能多处使用,同时我们需要在基础的样式上加上自己的样式和操作的js代码;遇到这种情况,如果每个地方都copy代码的话那么,后期如果要做修改,那么维护的工作量是巨大的。基于这种情况,我们可以考虑使用自定义标签,实现代码的复用,易维护。
    JSP自定义标签,实质上就是以标记的形式封装了一个俱有独立功能的Java类。标记的使用减少了直接嵌入JSP页面的Java代码,方便了页面的布局,并且有利于代码的复用,提高了开发的效率。

    原理介绍

    1. JSP服务器解析标记的过程:
      当一个用户访问一个JSP页面时,这个请求被发送到JSP服务器,JSP服务器会根据这个请求去调用相应的页面,如果这个页面中有自定义的标记, JSP服务就会根据页面指令<%@ taglib>去访问TLD得到处理程序的相关信息,接着调用该处理程序的构造器方法,启动标记符处理程序,并读取标记符的属性和相应值。
    2. TLD文件
      TLD(TLD:Tag Library Descriptor标记库描述符)文件,标准的XML格式的标记定义文件,被用来存放标记符的信息。
    3. Taglib 指令
      <%@ taglib uri=”URIToTagLibrary” prefix=”tagPrefix” %>
      <% @ taglib %>指令声明此JSP文件使用了自定义的标记,同时引用标记库,也指定了他们的标记的前缀。必须在使用自定义标记之前使用<% @ taglib %>指令。
      属性:
      uri=”URIToTagLibrary” :Uniform Resource Identifier (URI)根据标记的前缀对自定义的标记进行唯一的命名,URI可以是一个相对或绝对的路径。
      prefix=”tagPrefix”:在自定义标记之前的前缀。

    举例代码

    PageUtil.java代码

    package com.util;
    
    import java.util.List;
    
    public class PageUtil<T> {
        // 以下4个属性必须指定
        private List<T> records; // 分页数据
        private int totalRecord; // 总记录数
        private int pageNo; // 当前页码,第几页
        private int pageSize; // 每页显示的记录数,每页显示多少条数据
    
        private int totalPage; // 总页数
    
        private int startIndex; // 开始索引
        private int endIndex; // 结束索引
    
        private int indexCount = 10;// 显示的索引数目,如:10的话, 则显示1-10, 2-11
    
        // public Pagination() {}
    
        public PageUtil(List<T> records,int totalRecord,int pageNo, int pageSize) {
            this.records = records;
            this.totalRecord = totalRecord;
            this.pageNo = pageNo;
            this.pageSize = pageSize;
    
            // 根据总记录数和每页显示数计算总页数(totalRecord+pageSize->totalPage)
            totalPage = this.totalRecord / this.pageSize;
            totalPage = (this.totalRecord % pageSize == 0) ? totalPage: (totalPage + 1);
            // 计算显示索引数目
            if (indexCount > totalPage) {
                indexCount = totalPage;
            }
            // 根据索引数目,当前页,总页数计算开始索引和结束索引(indexCount+pageNo+totalPage->startIndex+endIndex)
            startIndex = indexCount / 2;
            startIndex = pageNo- (indexCount % 2 == 0 ? (startIndex - 1) : startIndex);
            endIndex = pageNo + indexCount / 2;
            // 1 <= startIndex < pageNo < endIndex <= totalPage
            // startIndex = pageNo - indexCount/2
            // endIndex = pageNo + indexCount/2
            if (startIndex < 1) {
                startIndex = 1;
                if (totalPage >= indexCount) {
                    endIndex = indexCount;
                } else {
                    endIndex = totalPage;
                }
            }
            if (endIndex > totalPage) {
                endIndex = totalPage;
                if (endIndex > indexCount) {
                    startIndex = endIndex - indexCount + 1;
                } else {
                    startIndex = 1;
                }
            }
        }
    
        /**
         * 获取分页数据
         * 
         * @return
         */
        public List<T> getRecords() {
            return records;
        }
    
        /**
         * 获取总记录数
         * 
         * @return
         */
        public int getTotalRecord() {
            return totalRecord;
        }
    
        /**
         * 当前页数(第几页)
         * 
         * @return
         */
        public int getPageNo() {
            return pageNo;
        }
    
        /**
         * 每页显示数据记录数
         * 
         * @return
         */
        public int getPageSize() {
            return pageSize;
        }
    
        /**
         * 总页数
         * 
         * @return
         */
        public int getTotalPage() {
            return totalPage;
        }
    
        /**
         * 起始索引
         * 
         * @return
         */
        public int getStartIndex() {
            return startIndex;
        }
    
        /**
         * 结束索引
         * 
         * @return
         */
        public int getEndIndex() {
            return endIndex;
        }
    
        /****************************************************************/
        /************************ get/set方法 ******************************/
        /****************************************************************/
    
        public int getIndexCount() {
            return indexCount;
        }
    
        public void setIndexCount(int indexCount) {
            this.indexCount = indexCount;
        }
    
        @Override
        public String toString() {
            return "PageUtil [records=" + records + ", totalRecord=" + totalRecord
                    + ", pageNo=" + pageNo + ", pageSize=" + pageSize
                    + ", totalPage=" + totalPage + ", startIndex=" + startIndex
                    + ", endIndex=" + endIndex + ", indexCount=" + indexCount + "]";
        }
    
    }
    

    PageTag.java

    package com.util;
    
    import java.io.IOException;
    
    import javax.servlet.jsp.JspContext;
    import javax.servlet.jsp.JspException;
    import javax.servlet.jsp.JspWriter;
    import javax.servlet.jsp.tagext.SimpleTagSupport;
    
    public class PageTag extends SimpleTagSupport {
    
        /**
         * 分页数据(required)
         */
        private PageUtil pagination;
        /**
         * 请求路径
         */
        private String href;
    
        /**
         * 分页div
         */
        private String divId;
        /**
         * 分页样式
         */
        private String divClass;
    
        @Override
        public void doTag() throws JspException, IOException {
            // 缓冲字符串对象
            StringBuffer strBuf = new StringBuffer();
            strBuf.append("<script type=\"text/javascript\">\n");
            strBuf.append("function paga_toPage(pageNo) {");
            strBuf.append("window.location.href=\"").append(href);
            if (href.indexOf("?") == -1) {
                strBuf.append("?");
            } else {
                strBuf.append("&");
            }
            strBuf.append("pageNo=\"").append("+pageNo;").append("}");
            strBuf.append(" </script> ");
            strBuf.append(" <div id=\"").append(divId).append("\" class=\"")
                    .append(divClass).append("\"> ");
            // 上一页
            if (pagination.getPageNo() == 1) {
                strBuf.append(" <a>&#9668;</a>");
            } else {
                strBuf.append(" <a onclick=\"paga_toPage(")
                        .append(pagination.getPageNo() - 1)
                        .append(")\"> &#9668; </a> ");
            }
            // 容器
            strBuf.append(" <span>");
    
            if (pagination.getStartIndex() != 1) {
                // 显示第一页索引
                strBuf.append(" <a").append(" onclick=\"paga_toPage(").append(1)
                        .append(");\">").append(1).append("</a> ");
            }
    
            // 显示省略号
            if (pagination.getStartIndex() > 2) {
    
                strBuf.append(" <i>...</i> ");
            }
            // 分页条主体
            for (int i = pagination.getStartIndex(); i <= pagination.getEndIndex(); i++) {
                if (pagination.getPageNo() == i) {
                    strBuf.append(" <a class=\"current\">").append(i)
                            .append("</a> ");
                } else {
                    strBuf.append(" <a onclick=\"paga_toPage(").append(i)
                            .append(");\">").append(i).append("</a> ");
                }
            }
            // 显示省略号
            if (pagination.getEndIndex() < pagination.getTotalPage() - 1) {
                strBuf.append(" <i>...</i> ");
            }
            if (pagination.getEndIndex() != pagination.getTotalPage()) {
                // 显示最后一页索引
                strBuf.append(" <a").append(" onclick=\"paga_toPage(")
                        .append(pagination.getTotalPage()).append(");\">")
                        .append(pagination.getTotalPage()).append("</a>");
            }
    
            // 容器结尾
            strBuf.append(" </span> ");
    
            // 下一页
            if (pagination.getPageNo() == pagination.getTotalPage()) {
                strBuf.append(" <a>&#9658;</a> ");
                // strBuf.append("<a">末页</a> ");
            } else {
                strBuf.append(" <a onclick=\"paga_toPage(")
                        .append(pagination.getPageNo() + 1)
                        .append(")\"> &#9658; </a> ");
                // strBuf.append(" <a onclick=\"paga_toPage(").append(pagination.getTotalPage()).append(")\">末页</a> ");
            }
    
            strBuf.append(" </div> ");
    
            JspContext ctx = getJspContext();
             // 获取页面输出流,并输出字符串
            JspWriter out = ctx.getOut();
            out.print(strBuf.toString());
    
        }
    
        public PageUtil getPagination() {
            return pagination;
        }
    
        public void setPagination(PageUtil pagination) {
            this.pagination = pagination;
        }
    
        public String getHref() {
            return href;
        }
    
        public void setHref(String href) {
            this.href = href;
        }
    
        public String getDivId() {
            return divId;
        }
    
        public void setDivId(String divId) {
            this.divId = divId;
        }
    
        public String getDivClass() {
            return divClass;
        }
    
        public void setDivClass(String divClass) {
            this.divClass = divClass;
        }
    
    }

    PageTag.tld

    <?xml version="1.0" encoding="UTF-8" ?>
    <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
        version="2.0">
        <description>自定义标签类</description>
        <tlib-version>1.0</tlib-version>
        <short-name>Mytaglib</short-name>
        <uri>/MyPageTag</uri>
    
        <tag>
            <description>分页标签</description>
            <name>Pagination</name>
            <tag-class>com.util.PageTag</tag-class>
            <body-content>empty</body-content>
            <attribute>
                <name>pagination</name>
                <required>true</required>
                <rtexprvalue>true</rtexprvalue>
                <type>java.lang.Object</type>
            </attribute>
            <attribute>
                <name>divId</name>
                <required>false</required>
            </attribute>
            <attribute>
                <name>divClass</name>
                <required>false</required>
            </attribute>
            <attribute>
                <name>href</name>
                <required>false</required>
                <rtexprvalue>true</rtexprvalue>
            </attribute>
        </tag>
    
    </taglib>

    page.css

    @CHARSET "UTF-8";
    #pagination {
        display: inline-block;
        vertical-align: middle;
        border-radius: 4px;
        padding: 1px 2px 4px 2px;
        border-top: 1px solid #AEAEAE;
        border-bottom: 1px solid #FFFFFF;
        background-color: #DADADA;
        background-image: -webkit-linear-gradient(top, #DBDBDB, #E2E2E2);
        background-image:    -moz-linear-gradient(top, #DBDBDB, #E2E2E2);
        background-image:     -ms-linear-gradient(top, #DBDBDB, #E2E2E2);
        background-image:      -o-linear-gradient(top, #DBDBDB, #E2E2E2);
        background-image:         linear-gradient(top, #DBDBDB, #E2E2E2);
    }
    #pagination a, #pagination i {
        display: inline-block;
        vertical-align: middle;
        width: 22px;
        color: #7D7D7D;
        text-align: center;
        font-size: 10px;
        padding: 3px 0 2px 0;
        -webkit-user-select:none;
           -moz-user-select:none;
            -ms-user-select:none;
             -o-user-select:none;
                user-select:none;
    }
    
    #pagination a {
        margin: 0 2px 0 2px;
        border-radius: 4px;
        border: 1px solid #E3E3E3;
        cursor: pointer;
        box-shadow: inset 0 1px 0 0 #FFF, 0 1px 2px #666;
        text-shadow: 0 1px 1px #FFF;
        background-color: #E6E6E6;
        background-image: -webkit-linear-gradient(top, #F3F3F3, #D7D7D7);
        background-image:    -moz-linear-gradient(top, #F3F3F3, #D7D7D7);
        background-image:     -ms-linear-gradient(top, #F3F3F3, #D7D7D7);
        background-image:      -o-linear-gradient(top, #F3F3F3, #D7D7D7);
        background-image:         linear-gradient(top, #F3F3F3, #D7D7D7);
    }
    #pagination i {
        margin: 0 3px 0 3px;
    }
    #pagination a.current {
        border: 1px solid #E9E9E9;
        box-shadow: 0 1px 1px #999;
        background-color: #DFDFDF;
        background-image: -webkit-linear-gradient(top, #D0D0D0, #EBEBEB);
        background-image:    -moz-linear-gradient(top, #D0D0D0, #EBEBEB);
        background-image:     -ms-linear-gradient(top, #D0D0D0, #EBEBEB);
        background-image:      -o-linear-gradient(top, #D0D0D0, #EBEBEB);
        background-image:         linear-gradient(top, #D0D0D0, #EBEBEB);
    }

    使用说明:

    PageTag.tld放在WEB-INF目录下
    引入
    <%@taglib uri=”/MyPageTag” prefix=”Mytaglib”%>
    page.css
    调用
    <Mytaglib:Pagination pagination="PageUtil" divId="divId" href="Action"/>

    展开全文
  •   前端给后端传参时会多个逗号的情况我遇到过两种,第一种:是表单提交时两个两个标签的name值一样而导致出现逗号;第二种:表单提交时没有标签的name值相同的情况也出现了逗号。第二种情况也是偶然间发现的,下面...

    *前言

      前端给后端传参时会多个逗号的情况我遇到过两种,第一种:是表单提交时两个两个标签的name值一样而导致出现逗号;第二种:表单提交时没有标签的name值相同的情况也出现了逗号。第二种情况也是偶然间发现的,下面小菜就来分享一下。

    *第一种:两个标签name值相同时传参出现逗号

    1、原因

      因为表单提交时,都是用前端表单中的那些标签控件的name值和后端实体中的字段进行对应,如果出现两个name值相同的控件,提交表单时这两个控件的值都会传给后端的同一个字段,后端接收时就会用逗号将值区分。

    在这里插入图片描述
    2、解决办法

      方法一:把前端name值相同的控件的name改成不一样的,并在实体中也定义相应的变量进行接收

      方法二:在后端把接收到带逗号的值用split进行切割

    *第二种:两个标签name值不同时传参出现逗号

    1、原因
      上面的第一种情况大家应该都很熟悉,第二种情况小菜之前就遇到过,但是不知道出现这种情况的原因。前几天小菜在维护过程中偶然发现了原由——这种情况是在提交编辑页的表单时发生的,大家都知道点击“编辑”按钮时会跳转到“编辑页”,跳转到编辑页的url中一般都会带上一个参数,大多是id,页面回显时又会在页面中多加个隐藏的input框来回显id。在此时这种情况,提交编辑表单就会传两个id值,一个是url中名为id的值,另一个就是隐藏的input中的id值。

    在这里插入图片描述

    2、解决办法

      知道了出现这种情况的原因,其实解决的话就简单,要么把url中的参数起个别名,要么表单提交到后端用split进行截取。

    展开全文
  • 那么jsp引擎是否实例化多个标签对象呢)那么大家可能就奇怪了,研究这个问题到底对我们项目研发有何好处呢?其实这个问题可以延伸出很多关于java自定义标签的一些高级应用以及自定义标签的解析原理,比如自定义标签...
  • Java基础——编写自定义标签

    千次阅读 热门讨论 2015-01-29 16:44:53
    在开发项目过程中,我们经常有这样的体会:同一个控件我们可能处使用,同时我们需要在基础的样式上加上自己的样式和操作的js代码;遇到这种情况,如果每地方都copy代码的话那么,后期如果要做修改,那么维护的...
  • 项目用了8晚上(20:00-23:00)加上2白天完成。   一、所用知识点 1、java语言基础 2、线程 3、Swing控件 4、数据库技术(MySQL) 二、项目目标 1、通过登录窗体点击进入主窗体 2、查看号码的...
  • java开源包1

    千次下载 热门讨论 2013-06-28 09:14:34
    Java Remote Desktop 是一个Java 的远程桌面软件,支持很特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一实现了 Yen 的排名算法的无环路径的项目 ...
  • java开源包12

    热门讨论 2013-06-28 10:14:45
    Java Remote Desktop 是一个Java 的远程桌面软件,支持很特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一实现了 Yen 的排名算法的无环路径的项目 ...
  • Java资源包01

    2016-08-31 09:16:25
    Java Remote Desktop 是一个Java 的远程桌面软件,支持很特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一实现了 Yen 的排名算法的无环路径的项目 ...
  • java开源包101

    2016-07-13 10:11:08
    Java Remote Desktop 是一个Java 的远程桌面软件,支持很特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一实现了 Yen 的排名算法的无环路径的项目 ...
  • java开源包11

    热门讨论 2013-06-28 10:10:38
    Java Remote Desktop 是一个Java 的远程桌面软件,支持很特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一实现了 Yen 的排名算法的无环路径的项目 ...
  • java开源包2

    热门讨论 2013-06-28 09:17:39
    Java Remote Desktop 是一个Java 的远程桌面软件,支持很特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一实现了 Yen 的排名算法的无环路径的项目 ...
  • 这是一带有相机,图片裁剪,拼贴粘贴和标记的Android应用程序。 这是一款集成了相机,图片裁剪,给图片贴图打标签的APP。 特征 实现摄像头的功能。 实现照片裁剪功能。 实现照片滤镜的功能。 可以在照片上粘贴...
  • java开源包3

    热门讨论 2013-06-28 09:20:52
    Java Remote Desktop 是一个Java 的远程桌面软件,支持很特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一实现了 Yen 的排名算法的无环路径的项目 ...
  • Java中控件可以做参数,还有多个include标签中的控件ID相同如何区分和实例化,还有如何快捷地初始化几十个类似的控件,请求指点
  • java开源包6

    热门讨论 2013-06-28 09:48:32
    Java Remote Desktop 是一个Java 的远程桌面软件,支持很特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一实现了 Yen 的排名算法的无环路径的项目 ...
  • java开源包5

    热门讨论 2013-06-28 09:38:46
    Java Remote Desktop 是一个Java 的远程桌面软件,支持很特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一实现了 Yen 的排名算法的无环路径的项目 ...
  • java开源包10

    热门讨论 2013-06-28 10:06:40
    Java Remote Desktop 是一个Java 的远程桌面软件,支持很特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一实现了 Yen 的排名算法的无环路径的项目 ...
  • java开源包4

    热门讨论 2013-06-28 09:26:54
    Java Remote Desktop 是一个Java 的远程桌面软件,支持很特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一实现了 Yen 的排名算法的无环路径的项目 ...
  • java开源包8

    热门讨论 2013-06-28 09:55:26
    Java Remote Desktop 是一个Java 的远程桌面软件,支持很特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一实现了 Yen 的排名算法的无环路径的项目 ...
  • java开源包9

    热门讨论 2013-06-28 09:58:55
    Java Remote Desktop 是一个Java 的远程桌面软件,支持很特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一实现了 Yen 的排名算法的无环路径的项目 ...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 219
精华内容 87
关键字:

多个标签控件java

java 订阅