Asp.Net MVC4开发三:HTML5、CSS3、JQuery、JQuery UI的应用

在Asp.Net MVC4里面UI层也就是View层默认使用HTML5以及与HTML相对应的CSS3,JS默认使用JQuery和JQuery UI。新建一个MVC4项目,项目会自动包含JQuery、JQuery UI所需要的文件及智能提示支持; HTML则是自动生成HTML5格式标签的页面。

先来看看MVC4项目里面对这些内容的支持:

在MVC4项目里面有Scripts和Content两个文件夹,Scripts里面存放Java scripts库包括JQuery, JQuery UI, JQuery Validation以及modernizr等。而在Content Base文件夹里面包含了JQuery UI所需要的CSS文件。

protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            AuthConfig.RegisterAuth();
        }

在Global.asax文件里面注册了所需要的绑定,当程序启动时运行绑定内容。

再来看看绑定是怎么工作的:

public class BundleConfig
    {
        // For more information on Bundling, visit 
        public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                        "~/Scripts/jquery-{version}.js",
                        "~/Scripts/bootstrap.min.js",
                        "~/Scripts/DataGrid.js"));

            bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
                        "~/Scripts/jquery-ui-{version}.js"));

            bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                        "~/Scripts/jquery.unobtrusive*",
                        "~/Scripts/jquery.validate*"));

            // Use the development version of Modernizr to develop with and learn from. Then, when you're
            // ready for production, use the build tool at  to pick only the tests you need.
            bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                        "~/Scripts/modernizr-*"));

            bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css",
                        "~/Content/themes/base/jquery-ui.css",
                        "~/Content/DataGrid.css"));

            bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
                        "~/Content/themes/base/jquery.ui.core.css",
                        "~/Content/themes/base/jquery.ui.resizable.css",
                        "~/Content/themes/base/jquery.ui.selectable.css",
                        "~/Content/themes/base/jquery.ui.accordion.css",
                        "~/Content/themes/base/jquery.ui.autocomplete.css",
                        "~/Content/themes/base/jquery.ui.button.css",
                        "~/Content/themes/base/jquery.ui.dialog.css",
                        "~/Content/themes/base/jquery.ui.slider.css",
                        "~/Content/themes/base/jquery.ui.tabs.css",
                        "~/Content/themes/base/jquery.ui.datepicker.css",
                        "~/Content/themes/base/jquery.ui.progressbar.css",
                        "~/Content/themes/base/jquery.ui.theme.css"));
        }
    }

View页面的引用:

  @Styles.Render("~/Content/css")
  @Scripts.Render("~/bundles/modernizr")

用Styles.Render(StyleBundle name)在页面添加CSS的引用, 用Scripts.Render(StyleBundle name)在页面添加Scripts的引用, Render是数组型参数params,所以可以同时将多个Bundles放在一个Render方法添加到页面。这样做的一个好处是页面更简洁,而且添加更方便,只需要把想要添加的文件Add到某一个Bundles组,引用后会在页面添加Bundles下面所有的绑定文件的引用。而且可以使用 BundleTable.EnableOptimizations 对引用文件进行压缩以增加网络传输性能,将该属性设为ture添加到application_start方法里面:

protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            AuthConfig.RegisterAuth();

            BundleTable.EnableOptimizations = true;
        }

上面是一种绑定引用的方式,当然传统方式也是可以用的,例如下面这种引用也没有任何问题,但没有上述优点。如:


因为MVC4默认使用HTML5,所以页面布局也是HTML5的布局,HTML5的布局是这样的:

Asp.Net MVC4开发三:HTML5、CSS3、JQuery、JQuery UI的应用_第1张图片

所以在Views文件夹下面会有一个Shared文件夹,里面放置的页面就是共享页面,有点类似web form里面的user control。

在Shared文件夹里面有一个_Layout.cshtml文件,是一个布局页面,如果想修改网络的布局,那么只需要修改该文件就行。

在mvc4网站默认的布局下面,会将jquery.js的引用放在Layout页面的最后,在其它页面使用JQuery或调用JQuery UI时会报错,比如:“无法识别$”,或“不支持Button/dialog”等等。调试JS内容,可以打开浏览器高级选项,找到两个禁止Javascript调试的选项,去掉选中状态就行。针对上面错误,我们可以把scripts.render()和styles.render()方法放置在head部分,那么在其它页面就不需要重新添加一遍了。当然把styles和scripts放置在页面的最后是有好处的,这样可以让页面内容更快地显示,但如果遇到错误,就是位置太靠后了。

来看一个Juery及ui使用的例子:

在_Layout.cshtml文件的head里面添加引用,我将jquery ui的css回到了Content/css Bundles:

 @Styles.Render("~/Content/css")
 @Scripts.Render("~/bundles/modernizr")
 @Scripts.Render("~/bundles/jquery", "~/bundles/jqueryui")

页面调用:

效果:

Asp.Net MVC4开发三:HTML5、CSS3、JQuery、JQuery UI的应用_第2张图片

在上面有一段关于modernizr的JS类库说明,意思是说:当你在开发过程当中时,你可以使用和依赖它的功能,但当你准备发布到产品环境时,使用构建工具通过官网地址取你所需要的验证就行。它也间接说明了modernizr的作用,起验证作用,因为HTML5目前不是对所有浏览器都支持,那么对于不支持的浏览器我们需要采用一些可替代的方法,比如用传统的JS和支持的HTML tag操作。那么这时就需要用到modernizr的功能了,他提供验证浏览器的功能。

目前所支持的浏览器有:IE9及以上,Firefox, Safari, Opera, Chrome等,浏览器前缀分别是:IE 是 -ms-, Firefox 是 -moz-, Safari和Chrome是一样的 -webkit-, Opera是-o-。

看一个CSS3的例子:

.featured .content-wrapper {
        background-color: #7ac0da;
        background-image: -ms-linear-gradient(left, #7ac0da 0%, #a4d4e6 100%);
        background-image: -o-linear-gradient(left, #7ac0da 0%, #a4d4e6 100%);
        background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #7ac0da), color-stop(1, #a4d4e6));
        background-image: -webkit-linear-gradient(left, #7ac0da 0%, #a4d4e6 100%);
        background-image: linear-gradient(left, #7ac0da 0%, #a4d4e6 100%);
        color: #3e5667;
        padding: 20px 40px 30px 40px;
    }

向元素添加“no-js”的类


  • 当Modernizr运行的时候,它会把这个“no-js”的类变为“js”来使你知道它已经运行。Modernizr并不仅仅只做这一件事情,它还会为 所有它检测过的特性添加class类,如果浏览器不支持某个特性,它就为该特性对应的类名加上“no-”的前缀。
  • 添加no-js class到html元素下,是告诉浏览器是否支持JavaScript,如果不支持就显示no-js,如果支持就把no-js删掉。

下面是一个列表对照,用上述方法可以对下面所有内容进行验证。

CSS功能

Modernizr类(属性)

@font-face

fontface

::before and ::after pseudo-elements

generatedcontent

background-size

backgroundsize

border-image

borderimage

border-radius

borderradius

box-shadow

boxshadow

CSS animations

cssanimations

CSS 2D transformations

csstransforms

CSS 3D transformations

csstransforms3d

CSS transitions

csstransitions

flexible box layout

flexbox

gradients

cssgradients

hsla()

hsla

multi-column layout

csscolumns

multiple backgrounds

multiplebgs

opacity

opacity

reflection

cssreflections

rgba()

rgba

text-shadow

textshadow


HTML5和CSS3能做到什么?相信网上已经有很多的实例了,动画效果不输flash,所以很多人相信HTML5是互联网的未来。来看看HTML5和之前版本有何区别?

下面分别是HTML5新增和移除的内容:

html5 变更的标签

  1. 简洁的 DOCTYPE HTML5 只需一个简洁的文档类型:。它有意不使用版本,因此文档将会适用所有版本的HTML。
  2. 简单易记的语言标签 你并不需要在 中使用 xmlns 或 xml:lang 标记。 将对 HTML5 有效。
  3. 简单易记的编码类型 你现在可以在 meta 标签中使用 “charset”:
  4. 不需要闭合标签 在 HTML5 中,空标签(如:br、img 和 input )并不需要闭合标签。
  5. 新增标签 新增的语义化标签 
    header, hgroup, nav, section, article, details, figure, figcaption, aside, time, mark, audio, video, source, track, bdi, canvas, command, datalist, summary, embed, keygen, meter, output, progress, rp, rt, ruby,
  6. 废弃的标签 下面这些标签并不被 HTML5 支持:
    、、、、<s>[删除线]、<strike>[删除线]、<tt>[定义打字机文本]、<u>[下划线文本]; 和 <xmp>[和pre类似];</li> <li><strong>新增属性</strong><span> </span>在 HTML5 中,增加了很多form表单属性,当然还有其他属性。<span> </span><br> required,<span> </span>from, pattern, placeholder, email, range[min, max, step], url, date, time, datetime, datetime-local, month, week, tel, number, search, --, contentcontenteditableable, contextmenu,data-yourvalue, draggable, item, itemprop, spellcheck, subject</li> </ol> <p>新增的内容比较多,而移除的内容其实也不怎么用到,或者是直接和其它的元素在功能上是重叠的。新增内容最吸引人的地方当算交互式的标签了,比如:audio, video, canvas等。在布局方面,目前直接提供了header, section, nav, article, footer等,所以现在布局对于完全不懂CSS的程序员来说也不是难事。可以查看_Layout.cshtml文件,里面的布局就相当简洁。</p> <p><span style="color:#ff0000;"><!DOCTYPE html></span><br><span style="color:#ff0000;"><html lang="en" ></span><br>     <head><br><span style="color:#ff0000;">        <meta charset="utf-8" /></span><br>         <title>@ViewBag.Title - My ASP.NET MVC Application</title><br>         <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" /><br>         <meta name="viewport" content="width=device-width" /><br>         @Styles.Render("~/Content/css")<br>         @Scripts.Render("~/bundles/modernizr")<br>         @Scripts.Render("~/bundles/jquery", "~/bundles/jqueryui")<br>     </head><br>     <body><br><span style="color:#ff0000;">        <header></span><br>             <div class="content-wrapper"><br>                 <div class="float-left"><br>                     <p class="site-title">@Html.ActionLink("OTP Portal", "Index", "Home")</p><br>                 </div><br>                 <div class="float-right"><br>                     <section id="login"><br>                         @Html.Partial("_LoginPartial")<br>                     </section><br>                     <nav><br>                         <ul id="menu"><br>                             <li>@Html.ActionLink("DataGrid", "Index", "DataGrid")</li><br>                             <li>@Html.ActionLink("WebGrid", "index", "WebGrid")</li><br>                             <li>@Html.ActionLink("Home", "Index", "Home")</li><br>                             <li>@Html.ActionLink("About", "About", "Home")</li><br>                             <li>@Html.ActionLink("Contact", "Contact", "Home")</li>                           <br>                         </ul><br>                     </nav><br>                 </div><br>             </div><br>         </header><br>         <div id="body"><br>             @RenderSection("featured", required: false)<br><span style="color:#ff0000;">            <section</span> class="content-wrapper main-content clear-fix"><br>                 @RenderBody()<br>             </section><br>         </div><br><span style="color:#ff0000;">        <footer></span><br>             <div class="content-wrapper"><br>                 <div class="float-left"><br>                     <p>&copy; @DateTime.Now.Year - My ASP.NET MVC Application</p><br>                 </div><br>             </div><br>         </footer></p> <p>        @*@Scripts.Render("~/bundles/jquery")*@<br>         @RenderSection("scripts", required: false)<br>     </body><br> </html></p> <p>仔细观察Layout文件就发现有些明显的变化,HTML页面或Web form页面里面doctype, html, meta变得简洁了,里面的连接已经不需要了,那些以连接形式出现的命名空间完全从MVC4里面消失了,所以对于HTML5来说,因为需要copy的东西少了,需要自己用JS写的功能也少了很多。</p> <p>另一个重要的变化就是标签属性的变化,现在Input标签提供了与type相当的属性,直接可以验证用户输入,比如:required必填项,date日期格式及datepicker选择器,number数字格式,长度等等。如:</p> <p><br> <input type="email" /><br> <br /><br> <input type="date" /><br> <br /><br> <input type="number" maxlength="5" min="0" /></p> <p>效果:</p> <p><a href="http://img.e-com-net.com/image/info8/0789dde0f32b4869b8ef645235b1d53c.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/0789dde0f32b4869b8ef645235b1d53c.jpg" alt="Asp.Net MVC4开发三:HTML5、CSS3、JQuery、JQuery UI的应用_第3张图片" width="523" height="295" style="border:1px solid black;"></a></p> <p>与之前的HTML相比,我们不需要自己写JS的验证,也不需要JS的日期控件,更重要的是在MVC4里面直接用强类型绑定MODEL后,所有需要的验证都在Model类里面定义,安全而且高效。</p> <p><br></p> <div>  </div> <div>  </div> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1278318192845930496"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(.Net开发)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1901540276007137280.htm" title="重生之我在学Vue--第16天 Vue 3 插件开发" target="_blank">重生之我在学Vue--第16天 Vue 3 插件开发</a> <span class="text-muted">野生的程序媛</span> <a class="tag" taget="_blank" href="/search/Vue/1.htm">Vue</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%88%90%E4%BB%99%E4%B9%8B%E8%B7%AF/1.htm">前端成仙之路</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">前端框架</a> <div>重生之我在学Vue–第16天Vue3插件开发文章目录重生之我在学Vue--第16天Vue3插件开发前言一、插件的作用与开发思路1.1插件能做什么?1.2插件开发四部曲二、开发全局通知插件2.1插件基础结构2.2完整插件代码(带注释解析)2.3样式文件notification.css三、插件的安装与使用3.1在main.js中安装3.2在组件中使用四、插件开发进阶技巧4.1支持TypeScript类</div> </li> <li><a href="/article/1901539898016460800.htm" title="鸿蒙开发:图片保存与分享轻松上手" target="_blank">鸿蒙开发:图片保存与分享轻松上手</a> <span class="text-muted">柳中仙</span> <a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99HarmonyOS/1.htm">鸿蒙HarmonyOS</a><a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a> <div>鸿蒙开发:图片保存与分享轻松上手为啥要实现图片保存与分享功能在鸿蒙应用开发里,实现图片保存和分享功能,对提升用户体验有着极大的帮助。它能让用户更自由地处理图片,满足大家在不同场景下的需求。从应用自身价值来看,这个功能就像是给应用添了一对翅膀。有了它,应用能吸引更多用户,因为用户会觉得这个应用很贴心,能想到他们的实际需求。而且,它还能增强用户对应用的依赖度,让用户更愿意留在这个应用里,从而提高应用的</div> </li> <li><a href="/article/1901539391411646464.htm" title="Java面试精选(1):Spring,SpringMVC,SpringBoot,SpringCloud有什么区别和联系?" target="_blank">Java面试精选(1):Spring,SpringMVC,SpringBoot,SpringCloud有什么区别和联系?</a> <span class="text-muted">Java面试精选</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/1.htm">编程语言</a> <div>简单介绍Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。Spring使你能够编写更干净、更可管理、并且更易于测试的代码。SpringMVC是Spring的一个模块,一个web框架。通过DispatcherServlet,ModelAndView和ViewResolver,开发web应用变得很容易。主要针对的是网站应用程序或者服务开发——URL路由、Session、模板引</div> </li> <li><a href="/article/1901539139375919104.htm" title="Kotlin知识体系(一) : Kotlin的五大基础语法特性" target="_blank">Kotlin知识体系(一) : Kotlin的五大基础语法特性</a> <span class="text-muted">氦客</span> <a class="tag" taget="_blank" href="/search/%E7%9F%A5%E8%AF%86%E4%BD%93%E7%B3%BB/1.htm">知识体系</a><a class="tag" taget="_blank" href="/search/-/1.htm">-</a><a class="tag" taget="_blank" href="/search/Kotlin%E5%9F%BA%E7%A1%80/1.htm">Kotlin基础</a><a class="tag" taget="_blank" href="/search/kotlin/1.htm">kotlin</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80%E8%AF%AD%E6%B3%95/1.htm">基础语法</a><a class="tag" taget="_blank" href="/search/%E7%89%B9%E6%80%A7/1.htm">特性</a><a class="tag" taget="_blank" href="/search/%E7%9F%A5%E8%AF%86%E4%BD%93%E7%B3%BB/1.htm">知识体系</a> <div>前言在Android开发领域,Kotlin凭借其简洁性和安全性已成为官方推荐语言。本文将通过Kotlin的五大基础语法特性,结合实际应用场景展示它们在Android开发中的独特价值。一、变量声明:val与var的哲学1.1不可变优先原则Kotlin的val关键字用于声明不可变变量(相当于Java的final),这是构建可靠Android应用的基石:valPI=3.14159//类型推断为Doubl</div> </li> <li><a href="/article/1901538761376854016.htm" title="前端开发:在vue中实现按钮倒计时功能" target="_blank">前端开发:在vue中实现按钮倒计时功能</a> <span class="text-muted">三掌柜666</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91%E8%BF%9B%E9%98%B6/1.htm">前端开发进阶</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>前言在vue中开发中,关于计时器的使用也是比较常见的知识点,如基于移动端的短信60秒倒计时按钮、阅读协议40秒等实际需求,很常见的需求也不复杂,主要是有些细节需要注意。那么本篇博文就来分享一下关于vue中实现倒计时功能的方法,方便查阅使用,如有问题请指正。使用场景在前端开发中基于移动端的短信验证码发送60s倒计时使用,用户协议阅读30s倒计时提示等等。核心原理主要要处理的是倒计时按钮提示的数字以及</div> </li> <li><a href="/article/1901537752537690112.htm" title="深入浅出Docker:从零构建容器化开发能力" target="_blank">深入浅出Docker:从零构建容器化开发能力</a> <span class="text-muted">庸子</span> <a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>目录一、容器革命:重新定义应用交付二、核心概念体系解析2.1镜像与容器2.2镜像构建哲学三、核心操作指令精要3.1容器生命周期管理3.2镜像管理进阶四、生产级实践指南4.1环境变量管理4.2持久化存储方案4.3网络架构设计五、持续交付流水线集成5.1Dockerfile优化原则5.2多环境配置策略六、安全加固要点一、容器革命:重新定义应用交付在传统软件部署中,环境差异导致的"在我机器上能跑"问题长</div> </li> <li><a href="/article/1901534852117753856.htm" title="前端初学者,有哪些适合的学习网站?" target="_blank">前端初学者,有哪些适合的学习网站?</a> <span class="text-muted">四六的六</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E4%B8%AA%E4%BA%BA%E5%BC%80%E5%8F%91/1.htm">个人开发</a> <div>对于前端初学者而言,选择合适的学习网站至关重要,以下是一些我知道的优质学习平台,在这里分享给大家:菜鸟教程:该网站以其简洁明了的界面设计和通俗易懂的教程内容而受到广大初学者的欢迎。其前端教程体系涵盖了前端开发的大量入门知识,包括HTML、CSS、JavaScript等基础技术,以及当前主流的前端框架和工具的使用方法,如Vue.js、React、Webpack等。教程内容的讲解方式深入浅出,注重从基</div> </li> <li><a href="/article/1901534347459096576.htm" title="Kotlin知识体系(二) : Kotlin的七个关键特性" target="_blank">Kotlin知识体系(二) : Kotlin的七个关键特性</a> <span class="text-muted">氦客</span> <a class="tag" taget="_blank" href="/search/%E7%9F%A5%E8%AF%86%E4%BD%93%E7%B3%BB/1.htm">知识体系</a><a class="tag" taget="_blank" href="/search/-/1.htm">-</a><a class="tag" taget="_blank" href="/search/Kotlin%E5%9F%BA%E7%A1%80/1.htm">Kotlin基础</a><a class="tag" taget="_blank" href="/search/kotlin/1.htm">kotlin</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E7%89%B9%E6%80%A7/1.htm">特性</a><a class="tag" taget="_blank" href="/search/%E5%AF%86%E5%B0%81%E7%B1%BB/1.htm">密封类</a><a class="tag" taget="_blank" href="/search/data/1.htm">data</a><a class="tag" taget="_blank" href="/search/class/1.htm">class</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%8D%93/1.htm">安卓</a> <div>前言在Android开发中,Kotlin以其简洁的语法和强大的特性显著提升了开发效率。本文将解析Kotlin中7个关键特性,通过代码示例展示它们在实际开发中的应用。一、构造函数:主次分明主构造函数classUserconstructor(_name:String){//传统写法valname=_name}classStudent(valid:Int,varname:String)//简化版主构造函</div> </li> <li><a href="/article/1901533252414402560.htm" title="HarmonyOS Next ohpm-repo自动化运维——日志、备份与监控" target="_blank">HarmonyOS Next ohpm-repo自动化运维——日志、备份与监控</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a> <div>在HarmonyOSNext开发过程中,ohpm-repo作为私有仓库管理工具,其稳定运行对于项目的顺利推进至关重要。有效的自动化运维是保障ohpm-repo高效运行的关键,涵盖日志管理、仓库备份与恢复以及批量操作等多个方面。接下来,我们详细探讨这些自动化运维能力。如何管理ohpm-repo的日志?ohpm-repo有一个内置的日志记录器,定义了四种日志类型,分别是访问日志(access.log)</div> </li> <li><a href="/article/1901533214237847552.htm" title="【APM】Loki日志多行显示" target="_blank">【APM】Loki日志多行显示</a> <span class="text-muted">运维归一</span> <a class="tag" taget="_blank" href="/search/DevOps/1.htm">DevOps</a><a class="tag" taget="_blank" href="/search/APM/1.htm">APM</a><a class="tag" taget="_blank" href="/search/loki/1.htm">loki</a><a class="tag" taget="_blank" href="/search/%E6%97%A5%E5%BF%97%E5%B9%B6%E8%A1%8C/1.htm">日志并行</a> <div>上一篇文章我们搭建了Alertmanager和Loki,接下来我们来实现日志并行显示专栏:https://blog.csdn.net/zhanremo3062/category_12552674.html我们只需要修改Promtail服务的配置文件即可multiline:#RE2正则表达式,如果匹配将开始一个新的多行日志块#这个表达式必须被提供firstline:#解析的最大等待时间(Godura</div> </li> <li><a href="/article/1901532996868042752.htm" title="基于HarmonyNext的ArkTS实战:构建跨平台金融理财系统" target="_blank">基于HarmonyNext的ArkTS实战:构建跨平台金融理财系统</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/harmonyos-next/1.htm">harmonyos-next</a> <div>基于HarmonyNext的ArkTS实战:构建跨平台金融理财系统引言金融理财是现代人生活中不可或缺的一部分,尤其是在数字化时代,用户对理财工具的需求日益增长。HarmonyNext作为新一代操作系统,结合ArkTS的强大能力,为开发者提供了构建高性能、跨平台金融理财系统的绝佳工具。本文将详细讲解如何利用ArkTS和HarmonyNext构建一个功能完善的金融理财系统,涵盖账户管理、投资组合分析、</div> </li> <li><a href="/article/1901532998176665600.htm" title="HarmonyNext实战:基于ArkTS的分布式任务调度系统开发" target="_blank">HarmonyNext实战:基于ArkTS的分布式任务调度系统开发</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/harmonyos-next/1.htm">harmonyos-next</a> <div>HarmonyNext实战:基于ArkTS的分布式任务调度系统开发引言在HarmonyNext生态系统中,分布式任务调度是一个核心且复杂的技术领域。随着设备互联的普及,如何在多设备间高效、可靠地分配和执行任务成为开发者面临的重要挑战。本文将深入探讨如何利用ArkTS语言构建一个高性能的分布式任务调度系统,涵盖从架构设计到代码实现的完整过程。分布式任务调度系统概述分布式任务调度系统的核心目标是将任务</div> </li> <li><a href="/article/1901532995626528768.htm" title="HarmonyNext实战:基于ArkTS的跨设备分布式计算应用开发" target="_blank">HarmonyNext实战:基于ArkTS的跨设备分布式计算应用开发</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/harmonyos-next/1.htm">harmonyos-next</a> <div>HarmonyNext实战:基于ArkTS的跨设备分布式计算应用开发引言随着分布式计算技术的快速发展,跨设备协同计算已成为提升应用性能的重要手段。HarmonyNext作为新一代操作系统,提供了强大的分布式能力,而ArkTS作为其开发语言,能够帮助开发者高效实现跨设备分布式计算。本文将详细讲解如何在HarmonyNext平台上使用ArkTS开发一个跨设备分布式计算应用。我们将从分布式计算的基本原理</div> </li> <li><a href="/article/1901532994343071744.htm" title="HarmonyNext实战:基于ArkTS的跨平台文件管理系统开发" target="_blank">HarmonyNext实战:基于ArkTS的跨平台文件管理系统开发</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/harmonyos-next/1.htm">harmonyos-next</a> <div>HarmonyNext实战:基于ArkTS的跨平台文件管理系统开发引言随着HarmonyNext的发布,ArkTS作为其核心开发语言,为开发者提供了更高效、更灵活的编程体验。本文将围绕文件管理系统的开发,详细讲解如何利用ArkTS构建一个跨平台的高效文件管理工具。通过本案例,您将掌握ArkTS的核心语法、HarmonyNext的API调用以及实际开发中的最佳实践。一、项目背景与需求分析1.1项目背</div> </li> <li><a href="/article/1901531701083959296.htm" title="微信、企微开发者文档及后台管理连接" target="_blank">微信、企微开发者文档及后台管理连接</a> <span class="text-muted">就叫飞六吧</span> <a class="tag" taget="_blank" href="/search/%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1/1.htm">企业微信</a> <div>企微开发者文档:https://developer.work.weixin.qq.com/document/path/90664后台:https://work.weixin.qq.com/wework_admin/frame#/profile微信开发者文档:https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Acce</div> </li> <li><a href="/article/1901531070923337728.htm" title="C# 分部类 详解" target="_blank">C# 分部类 详解</a> <span class="text-muted">千亦学不会编程</span> <a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>从C#2.0起支持分部类。分部类:是一个类的多个部分,编译器可把它们合并成一个完整的类。分部类的目的:将一个类的定义划分到多个文件中。通过分部类,由工具处理的文件可独立于开发者手动编码的文件。1.1定义分部类使用class前的上下文关键字partial来声明分部类。例子:partialclassProgram{}1.2分部方法从C#3.0引入分部方法概念,对C#2.0的分部类进行了扩展。分部方法只</div> </li> <li><a href="/article/1901528423734505472.htm" title="电信大带宽服务器的应用场景都有哪些?" target="_blank">电信大带宽服务器的应用场景都有哪些?</a> <span class="text-muted">wanhengidc</span> <a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>电信大带宽服务器有着卓越的稳定性和高速的数据传输能力,是众多企业和开发者搭建网站架构的首要选择,其中,电信网络广泛的覆盖范围和稳定可靠的性能,在网络通信领域中有着重要的作用,可以运用带各种应用场景当中。在云计算服务领域当中,云存储和云主机等多种业务都需要向大量的用户提供高效且稳定的数据存储与计算资源,电信大带宽的高速传输能力,可以满足用户快速传输数据信息的需求,能够大幅度提高云计算服务的效率和竞争</div> </li> <li><a href="/article/1901525687190220800.htm" title="深度剖析苹果签名与应用程序的紧密关系" target="_blank">深度剖析苹果签名与应用程序的紧密关系</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a> <div>在苹果的生态系统中,应用程序的发布和使用有着一套严格且独特的规则,而苹果签名在其中扮演着举足轻重的角色。对于广大苹果用户和应用开发者来说,深入了解苹果签名与应用程序之间的关系,有助于更好地把握苹果应用市场的运行机制。一、苹果签名的基本概念苹果签名是苹果公司为了确保应用程序来源可靠、内容安全,以及维护整个应用生态的有序性而采用的一种数字认证技术。简单来说,它就像是给应用程序贴上了一个“数字身份证”。</div> </li> <li><a href="/article/1901525305659551744.htm" title="解析京东商品详情 API 接口 item_get" target="_blank">解析京东商品详情 API 接口 item_get</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">服务器深度学习数据挖掘</a> <div>在电商行业蓬勃发展的当下,数据的获取与分析对于企业和开发者而言至关重要。京东作为国内领先的电商平台,提供了丰富的商品资源。为了能够高效地获取京东商品的详细信息,京东开放平台提供了一系列API接口,其中item_get接口在获取商品详情方面发挥着核心作用。本文将深入探讨item_get接口的技术细节、使用场景以及相关实践经验。一、item_get接口概述item_get接口是京东开放平台提供的用于获</div> </li> <li><a href="/article/1901525306963980288.htm" title="OSPO Summit 2025 正式定档!议题征集同步开启" target="_blank">OSPO Summit 2025 正式定档!议题征集同步开启</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a> <div>历经二十余年的发展,OSPO已然成为企业数字化转型的战略枢纽、产学研协同创新的关键桥梁、公共领域开放生态建设的核心引擎。作为这一进程的重要见证者和推动者,OSPOSummit也将在2025年6月12日迎来它的第三次进化。会议信息时间:2025年6月12日地点:北京议题征集,期待你的声音现在,我们面向全球开源社区决策者、企业技术管理者、学术机构研究者及一线开发者,发起议题征集!诚邀您分享OSPO如何</div> </li> <li><a href="/article/1901524384628142080.htm" title="ChatGPT智能聊天机器人实现" target="_blank">ChatGPT智能聊天机器人实现</a> <span class="text-muted">云端源想</span> <a class="tag" taget="_blank" href="/search/chatgpt/1.htm">chatgpt</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E4%BA%BA/1.htm">机器人</a> <div>以下是一个从零实现类ChatGPT智能聊天机器人的完整开发指南,包含技术选型、核心代码逻辑和推荐学习资源:—云端平台整理一、技术架构与工具核心模型基座模型:HuggingFaceTransformers库(如GPT-2/GPT-3.5TurboAPI/LLaMA2)轻量化方案:微软DeepSpeed或MetaFairScale(降低显存占用)训练框架PyTorchLightning+Acceler</div> </li> <li><a href="/article/1901522873869201408.htm" title="读取RAMS输出文件(RAMS-ISAN文件)的基本程序" target="_blank">读取RAMS输出文件(RAMS-ISAN文件)的基本程序</a> <span class="text-muted">Hardess-god</span> <a class="tag" taget="_blank" href="/search/RAMS/1.htm">RAMS</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>importnumpyasnpfromnetCDF4importDatasetimportxarrayasxrdefread_rams_data(filename):"""读取RAMS输出文件的基本函数"""try:#使用xarray打开文件ds=xr.open_dataset(filename)#提取基本变量temp=ds['THETA'].values#位温pressure=ds['PI'].</div> </li> <li><a href="/article/1901522368413626368.htm" title="【第十节】windows sdk编程:截获控件消息" target="_blank">【第十节】windows sdk编程:截获控件消息</a> <span class="text-muted">攻城狮7号</span> <a class="tag" taget="_blank" href="/search/Windows%E7%BC%96%E7%A8%8B%28C%2B%2B%29/1.htm">Windows编程(C++)</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/windows%E7%BC%96%E7%A8%8B/1.htm">windows编程</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/sdk/1.htm">sdk</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a> <div>目录一、控件消息的截获概述二、相关函数三、示例代码四、高级技巧与注意事项五、常见问题解答六、总结一、控件消息的截获概述控件的消息处理函数通常由系统定义,开发者无需干预。但在需要实现特殊交互逻辑(如自定义点击效果、消息过滤或增强功能)时,可通过消息处理函数替换技术截获控件消息。此技术通过替换控件的默认消息处理函数(WindowProcedure),在自定义处理完成后,调用原函数确保消息链完整。该技术</div> </li> <li><a href="/article/1901521233674039296.htm" title="CSS 自适应图片根据 div 大小进行均匀填充" target="_blank">CSS 自适应图片根据 div 大小进行均匀填充</a> <span class="text-muted">前端小助手</span> <a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/tensorflow/1.htm">tensorflow</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>目录前言使用object-fit属性示例代码HTMLCSS总结相关阅读1.前言在Web开发中,经常需要图片根据其容器的大小进行自适应填充,使得图片在任何设备和屏幕尺寸下都能保持良好的显示效果。本文将介绍如何使用CSS中的object-fit属性来实现这一需求。2.使用object-fit属性object-fit是一个CSS属性,专门用于控制替换元素(如、等)在其容器内的显示方式。常用的值有:fil</div> </li> <li><a href="/article/1901521107303854080.htm" title="为什么很多人喷 Java 开发者离了 spring 框架就不会写代码了" target="_blank">为什么很多人喷 Java 开发者离了 spring 框架就不会写代码了</a> <span class="text-muted">getapi</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>很多人批评Java开发者离开Spring框架后难以独立开发的原因可从技术特性与开发者习惯两方面分析:Java语言的历史设计局限Java的泛型实现存在缺陷,其原始值包装类(如Integer与int)的自动装拆箱机制出现较晚(Java5引入),且编译器无法彻底解决原始值与包装类的隐式转换问题[[1]][[2]]。这种设计导致开发者在处理基础类型与对象时需要额外关注类型转换,而Spring框架通过封装(</div> </li> <li><a href="/article/1901520855041634304.htm" title="解决 Flutter Device Daemon 启动失败问题的实践记录" target="_blank">解决 Flutter Device Daemon 启动失败问题的实践记录</a> <span class="text-muted">又吹风_Bassy</span> <a class="tag" taget="_blank" href="/search/flutter/1.htm">flutter</a><a class="tag" taget="_blank" href="/search/Flutter/1.htm">Flutter</a><a class="tag" taget="_blank" href="/search/Daemon/1.htm">Daemon</a><a class="tag" taget="_blank" href="/search/file/1.htm">file</a><a class="tag" taget="_blank" href="/search/handles/1.htm">handles</a><a class="tag" taget="_blank" href="/search/Daemon/1.htm">Daemon</a><a class="tag" taget="_blank" href="/search/Crash/1.htm">Crash</a><a class="tag" taget="_blank" href="/search/AndroidStudio/1.htm">AndroidStudio</a> <div>解决FlutterDeviceDaemon启动失败问题的实践记录最近在使用Flutter开发时踩了一个坑。看似是个小问题,但折腾了好久,最终通过日志分析和查阅资料才找到了解决办法。这里记录一下整个问题的排查过程,希望能帮助到遇到类似问题的小伙伴。问题背景事情是这样的,我在启动AndroidStudio时突然弹出了一个错误窗口:提示Flutterdaemon启动失败,过了一会儿之后,又弹出下面的弹窗</div> </li> <li><a href="/article/1901517705593286656.htm" title="组件化/Kotlin" target="_blank">组件化/Kotlin</a> <span class="text-muted">Ice_Lemon_dc</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/kotlin/1.htm">kotlin</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>七、组件化组件化原理引入组件化的原因:项目随着需求的增加规模变得越来越大,规模的增大导致了各种业务错中复杂的交织在一起,每个业务模块之间,代码没有约束,带来了代码边界的模糊,代码冲突时有发生,更改一个小问题可能引起一些新的问题,牵一发而动全身,增加一个新需求,需要熟悉相关的代码逻辑,增加开发时间避免重复造轮子,可以节省开发和维护的成本。可以通过组件和模块为业务基准合理地安排人力,提高开发效率。不同</div> </li> <li><a href="/article/1901517453347844096.htm" title="如何在GitHub上Clone项目:一步步指南" target="_blank">如何在GitHub上Clone项目:一步步指南</a> <span class="text-muted">Fanstay985</span> <a class="tag" taget="_blank" href="/search/github/1.htm">github</a> <div>GitHub作为全球最大的代码托管平台,汇聚了无数开发者的智慧结晶。对于初学者和资深开发者来说,学会如何从GitHub上克隆(Clone)项目是一项基本且重要的技能。本文将详细介绍如何在GitHub上克隆项目的步骤,帮助你轻松将他人的代码库下载到本地进行学习和开发。一、准备工作在开始之前,请确保你已经安装了Git。Git是一个分布式版本控制系统,用于代码的版本管理。如果你还没有安装Git,可以从G</div> </li> <li><a href="/article/1901516822000234496.htm" title="【step by step】Easyi3C Host I3C/I2C adapter (8)" target="_blank">【step by step】Easyi3C Host I3C/I2C adapter (8)</a> <span class="text-muted">Scott.W</span> <a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%A1%AC%E4%BB%B6/1.htm">嵌入式硬件</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%8A%9F%E8%83%BD%E6%B5%8B%E8%AF%95/1.htm">功能测试</a> <div>Easyi3C是一家领先的嵌入式系统工具供应商,可简化各种通信协议的开发和调试。公司提供一系列产品,旨在帮助工程师和开发人员更高效地使用I3C/I2C、USB和MIPI、JEDEC、MCTP等协议。Easyi3C提供PythonAPI。用户可以使用Python脚本对Easyi3C进行编程和控制,通过I2C或I3C协议访问从设备。API的使用,适合用户搭建更加复杂的测试环境,对提高自动化测试程度会有</div> </li> <li><a href="/article/1901513292266926080.htm" title="kotlin中的行为组件" target="_blank">kotlin中的行为组件</a> <span class="text-muted">每次的天空</span> <a class="tag" taget="_blank" href="/search/kotlin/1.htm">kotlin</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>在Android开发领域,Jetpack已经成为现代化应用开发的标配。除了界面组件外,其提供的行为组件(BehaviorComponents)更是解决了众多开发痛点。本文将深入解析WorkManager、DataBinding、Coroutines和Lifecycle四大核心组件的工作原理,并结合实战代码展示它们的具体用法。首先要添加jetpack相关的依赖库,操作如下:android{...da</div> </li> <li><a href="/article/83.htm" title="java线程的无限循环和退出" target="_blank">java线程的无限循环和退出</a> <span class="text-muted">3213213333332132</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>最近想写一个游戏,然后碰到有关线程的问题,网上查了好多资料都没满足。 突然想起了前段时间看的有关线程的视频,于是信手拈来写了一个线程的代码片段。 希望帮助刚学java线程的童鞋 package thread; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date</div> </li> <li><a href="/article/210.htm" title="tomcat 容器" target="_blank">tomcat 容器</a> <span class="text-muted">BlueSkator</span> <a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a> <div>Tomcat的组成部分 1、server A Server element represents the entire Catalina servlet container. (Singleton) 2、service service包括多个connector以及一个engine,其职责为处理由connector获得的客户请求。 &nbsp; 3、connector 一个connector</div> </li> <li><a href="/article/337.htm" title="php递归,静态变量,匿名函数使用" target="_blank">php递归,静态变量,匿名函数使用</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E9%80%92%E5%BD%92%E5%87%BD%E6%95%B0/1.htm">递归函数</a><a class="tag" taget="_blank" href="/search/%E5%8C%BF%E5%90%8D%E5%87%BD%E6%95%B0/1.htm">匿名函数</a><a class="tag" taget="_blank" href="/search/%E9%9D%99%E6%80%81%E5%8F%98%E9%87%8F/1.htm">静态变量</a><a class="tag" taget="_blank" href="/search/%E5%BC%95%E7%94%A8%E4%BC%A0%E5%8F%82/1.htm">引用传参</a> <div>&nbsp; &lt;!doctype html&gt; &lt;html lang=&quot;en&quot;&gt; &lt;head&gt; &lt;meta charset=&quot;utf-8&quot;&gt; &lt;title&gt;Current To-Do List&lt;/title&gt; &lt;/head&gt; &lt;body&gt</div> </li> <li><a href="/article/464.htm" title="属性颜色字体变化" target="_blank">属性颜色字体变化</a> <span class="text-muted">周华华</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>function changSize(className){ var diva=byId(&quot;fot&quot;) diva.className=className; } &lt;/script&gt; &lt;style type=&quot;text/css&quot;&gt; .max{ background: #900; color:#039; </div> </li> <li><a href="/article/591.htm" title="将properties内容放置到map中" target="_blank">将properties内容放置到map中</a> <span class="text-muted">g21121</span> <a class="tag" taget="_blank" href="/search/properties/1.htm">properties</a> <div>代码比较简单: private static Map&lt;Object, Object&gt; map; private static Properties p; static { //读取properties文件 InputStream is = XXX.class.getClassLoader().getResourceAsStream(&quot;xxx.properti</div> </li> <li><a href="/article/718.htm" title="[简单]拼接字符串" target="_blank">[简单]拼接字符串</a> <span class="text-muted">53873039oycg</span> <a class="tag" taget="_blank" href="/search/%E5%AD%97%E7%AC%A6%E4%B8%B2/1.htm">字符串</a> <div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 工作中遇到需要从Map里面取值拼接字符串的情况,自己写了个,不是很好,欢迎提出更优雅的写法,代码如下: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; import java.util.HashMap; import java.uti</div> </li> <li><a href="/article/845.htm" title="Struts2学习" target="_blank">Struts2学习</a> <span class="text-muted">云端月影</span> <div>最近开始关注struts2的新特性,从这个版本开始,Struts开始使用convention-plugin代替codebehind-plugin来实现struts的零配置。 配置文件精简了,的确是简便了开发过程,但是,我们熟悉的配置突然disappear了,真是一下很不适应。跟着潮流走吧,看看该怎样来搞定convention-plugin。 使用Convention插件,你需要将其JAR文件放</div> </li> <li><a href="/article/972.htm" title="Java新手入门的30个基本概念二" target="_blank">Java新手入门的30个基本概念二</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%96%B0%E6%89%8B/1.htm">新手</a><a class="tag" taget="_blank" href="/search/java+%E5%85%A5%E9%97%A8/1.htm">java 入门</a> <div>基本概念:  1.OOP中唯一关系的是对象的接口是什么,就像计算机的销售商她不管电源内部结构是怎样的,他只关系能否给你提供电就行了,也就是只要知道can or not而不是how and why.所有的程序是由一定的属性和行为对象组成的,不同的对象的访问通过函数调用来完成,对象间所有的交流都是通过方法调用,通过对封装对象数据,很大限度上提高复用率。  2.OOP中最重要的思想是类,类是模板是蓝图,</div> </li> <li><a href="/article/1099.htm" title="jedis 简单使用" target="_blank">jedis 简单使用</a> <span class="text-muted">antlove</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/cache/1.htm">cache</a><a class="tag" taget="_blank" href="/search/command/1.htm">command</a><a class="tag" taget="_blank" href="/search/jedis/1.htm">jedis</a> <div>jedis.RedisOperationCollection.java package jedis; import org.apache.log4j.Logger; import redis.clients.jedis.Jedis; import java.util.List; import java.util.Map; import java.util.Set; pub</div> </li> <li><a href="/article/1226.htm" title="PL/SQL的函数和包体的基础" target="_blank">PL/SQL的函数和包体的基础</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/PL%2FSQL%E7%BC%96%E7%A8%8B%E5%87%BD%E6%95%B0/1.htm">PL/SQL编程函数</a><a class="tag" taget="_blank" href="/search/%E5%8C%85%E4%BD%93%E6%98%BE%E7%A4%BA%E5%8C%85%E7%9A%84%E5%85%B7%E4%BD%93%E6%95%B0%E6%8D%AE/1.htm">包体显示包的具体数据</a><a class="tag" taget="_blank" href="/search/%E5%8C%85/1.htm">包</a> <div>由于明天举要上课,所以刚刚将代码敲了一遍PL/SQL的函数和包体的实现(单例模式过几天好好的总结下再发出来);以便明天能更好的学习PL/SQL的循环,今天太累了,所以早点睡觉,明天继续PL/SQL总有一天我会将你永远的记载在心里,,, &nbsp; 函数; 函数:PL/SQL中的函数相当于java中的方法;函数有返回值 定义函数的 --输入姓名找到该姓名的年薪 create or re</div> </li> <li><a href="/article/1353.htm" title="Mockito(二)--实例篇" target="_blank">Mockito(二)--实例篇</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/%E6%8C%81%E7%BB%AD%E9%9B%86%E6%88%90/1.htm">持续集成</a><a class="tag" taget="_blank" href="/search/mockito/1.htm">mockito</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/1.htm">单元测试</a> <div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 学习了基本知识后,就可以实战了,Mockito的实际使用还是比较麻烦的。因为在实际使用中,最常遇到的就是需要模拟第三方类库的行为。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 比如现在有一个类FTPFileTransfer,实现了向FTP传输文件的功能。这个类中使用了a</div> </li> <li><a href="/article/1480.htm" title="精通Oracle10编程SQL(7)编写控制结构" target="_blank">精通Oracle10编程SQL(7)编写控制结构</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/plsql/1.htm">plsql</a> <div>/* *编写控制结构 */ --条件分支语句 --简单条件判断 DECLARE v_sal NUMBER(6,2); BEGIN select sal into v_sal from emp where lower(ename)=lower('&amp;name'); if v_sal&lt;2000 then update emp set</div> </li> <li><a href="/article/1607.htm" title="【Log4j二】Log4j属性文件配置详解" target="_blank">【Log4j二】Log4j属性文件配置详解</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/log4j/1.htm">log4j</a> <div>如下是一个log4j.properties的配置 &nbsp; log4j.rootCategory=INFO, stdout , R log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appe</div> </li> <li><a href="/article/1734.htm" title="java集合排序笔记" target="_blank">java集合排序笔记</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>public class CollectionDemo implements Serializable,Comparable&lt;CollectionDemo&gt;{ private static final long serialVersionUID = -2958090810811192128L; private int id; private String nam</div> </li> <li><a href="/article/1861.htm" title="java导致linux负载过高的定位方法" target="_blank">java导致linux负载过高的定位方法</a> <span class="text-muted">ronin47</span> <div>定位java进程ID 可以使用top或ps -ef |grep java ![图片描述][1] 根据进程ID找到最消耗资源的java pid 比如第一步找到的进程ID为5431 执行 top -p 5431 -H ![图片描述][2] 打印java栈信息 $ jstack -l 5431 &gt; 5431.log 在栈信息中定位具体问题 将消耗资源的Java PID转</div> </li> <li><a href="/article/1988.htm" title="给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数" target="_blank">给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/%E5%87%BD%E6%95%B0/1.htm">函数</a> <div> import java.util.ArrayList; import java.util.List; import java.util.Random; public class RandNFromRand5 { /** 题目:给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数。 解法1: f(k) = (x0-1)*5^0+(x1-</div> </li> <li><a href="/article/2115.htm" title="PL/SQL Developer保存布局" target="_blank">PL/SQL Developer保存布局</a> <span class="text-muted">Kai_Ge</span> <div>&nbsp; &nbsp; &nbsp; 近日由于项目需要,数据库从DB2迁移到ORCAL,因此数据库连接客户端选择了PL/SQL Developer。由于软件运用不熟悉,造成了很多麻烦,最主要的就是进入后,左边列表有很多选项,自己删除了一些选项卡,布局很满意了,下次进入后又恢复了以前的布局,很是苦恼。在众多PL/SQL&nbsp;Developer使用技巧中找到如下这段: &nbsp; &n</div> </li> <li><a href="/article/2242.htm" title="[未来战士计划]超能查派[剧透,慎入]" target="_blank">[未来战士计划]超能查派[剧透,慎入]</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E8%AE%A1%E5%88%92/1.htm">计划</a> <div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 非常好看,超能查派,这部电影......为我们这些热爱人工智能的工程技术人员提供一些参考意见和思想........ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 虽然电影里面的人物形象不是非常的可爱....但是非常的贴近现实生活.... &nbsp;&nbsp;&nbsp;&nbs</div> </li> <li><a href="/article/2369.htm" title="Google Map API V2" target="_blank">Google Map API V2</a> <span class="text-muted">dai_lm</span> <a class="tag" taget="_blank" href="/search/google+map/1.htm">google map</a> <div>以后如果要开发包含google map的程序就更麻烦咯 http://www.cnblogs.com/mengdd/archive/2013/01/01/2841390.html 找到篇不错的文章,大家可以参考一下 http://blog.sina.com.cn/s/blog_c2839d410101jahv.html 1. 创建Android工程 由于v2的key需要G</div> </li> <li><a href="/article/2496.htm" title="java数据计算层的几种解决方法2" target="_blank">java数据计算层的几种解决方法2</a> <span class="text-muted">datamachine</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E9%9B%86%E7%AE%97%E5%99%A8/1.htm">集算器</a> <div>2、SQL &nbsp;&nbsp;&nbsp; SQL/SP/JDBC在这里属于一类,这是老牌的数据计算层,性能和灵活性是它的优势。但随着新情况的不断出现,单纯用SQL已经难以满足需求,比如: JAVA开发规模的扩大,数据量的剧增,复杂计算问题的涌现。虽然SQL得高分的指标不多,但都是权重最高的。 &nbsp;&nbsp;&nbsp; 成熟度:5星。最成熟的。 &nbsp;&nbsp;</div> </li> <li><a href="/article/2623.htm" title="Linux下Telnet的安装与运行" target="_blank">Linux下Telnet的安装与运行</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/telnet/1.htm">telnet</a> <div> Linux下Telnet的安装与运行 &nbsp; linux默认是使用SSH服务的 而不安装telnet服务&nbsp; 如果要使用telnet 就必须先安装相应的软件包&nbsp; 即使安装了软件包 默认的设置telnet 服务也是不运行的 需要手工进行设置 如果是redhat9,则在第三张光盘中找到 telnet-server-0.17-25.i386.rpm </div> </li> <li><a href="/article/2750.htm" title="PHP中钩子函数的实现与认识" target="_blank">PHP中钩子函数的实现与认识</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a> <div>假如有这么一段程序: function fun(){ fun1(); fun2(); }   首先程序执行完fun1()之后执行fun2()然后fun()结束。   但是,假如我们想对函数做一些变化。比如说,fun是一个解析函数,我们希望后期可以提供丰富的解析函数,而究竟用哪个函数解析,我们希望在配置文件中配置。这个时候就可以发挥钩子的力量了。   我们可以在fu</div> </li> <li><a href="/article/2877.htm" title="EOS中的WorkSpace密码修改" target="_blank">EOS中的WorkSpace密码修改</a> <span class="text-muted">蕃薯耀</span> <a class="tag" taget="_blank" href="/search/%E4%BF%AE%E6%94%B9WorkSpace%E5%AF%86%E7%A0%81/1.htm">修改WorkSpace密码</a> <div>EOS中BPS的WorkSpace密码修改 &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 蕃薯耀 201</div> </li> <li><a href="/article/3004.htm" title="SpringMVC4零配置--SpringSecurity相关配置【SpringSecurityConfig】" target="_blank">SpringMVC4零配置--SpringSecurity相关配置【SpringSecurityConfig】</a> <span class="text-muted">hanqunfeng</span> <a class="tag" taget="_blank" href="/search/SpringSecurity/1.htm">SpringSecurity</a> <div>&nbsp;SpringSecurity的配置相对来说有些复杂,如果是完整的bean配置,则需要配置大量的bean,所以xml配置时使用了命名空间来简化配置,同样,spring为我们提供了一个抽象类WebSecurityConfigurerAdapter和一个注解@EnableWebMvcSecurity,达到同样减少bean配置的目的,如下: &nbsp; applicationContex</div> </li> <li><a href="/article/3131.htm" title="ie 9 kendo ui中ajax跨域的问题" target="_blank">ie 9 kendo ui中ajax跨域的问题</a> <span class="text-muted">jackyrong</span> <a class="tag" taget="_blank" href="/search/AJAX%E8%B7%A8%E5%9F%9F/1.htm">AJAX跨域</a> <div>这两天遇到个问题,kendo ui的datagrid,根据json去读取数据,然后前端通过kendo ui的datagrid去渲染,但很奇怪的是,在ie 10,ie 11,chrome,firefox等浏览器中,同样的程序, 浏览起来是没问题的,但把应用放到公网上的一台服务器, 却发现如下情况: 1) ie 9下,不能出现任何数据,但用IE 9浏览器浏览本机的应用,却没任何问题 </div> </li> <li><a href="/article/3258.htm" title="不要让别人笑你不能成为程序员" target="_blank">不要让别人笑你不能成为程序员</a> <span class="text-muted">lampcy</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a> <div>在经历六个月的编程集训之后,我刚刚完成了我的第一次一对一的编码评估。但是事情并没有如我所想的那般顺利。 说实话,我感觉我的脑细胞像被轰炸过一样。 手慢慢地离开键盘,心里很压抑。不禁默默祈祷:一切都会进展顺利的,对吧?至少有些地方我的回答应该是没有遗漏的,是不是? 难道我选择编程真的是一个巨大的错误吗——我真的永远也成不了程序员吗? 我需要一点点安慰。在自我怀疑,不安全感和脆弱等等像龙卷风一</div> </li> <li><a href="/article/3385.htm" title="马皇后的贤德" target="_blank">马皇后的贤德</a> <span class="text-muted">nannan408</span> <div>&nbsp;&nbsp; 马皇后不怕朱元璋的坏脾气,并敢理直气壮地吹耳边风。众所周知,朱元璋不喜欢女人干政,他认为“后妃虽母仪天下,然不可使干政事”,因为“宠之太过,则骄恣犯分,上下失序”,因此还特地命人纂述《女诫》,以示警诫。但马皇后是个例外。   有一次,马皇后问朱元璋道:“如今天下老百姓安居乐业了吗?”朱元璋不高兴地回答:“这不是你应该问的。”马皇后振振有词地回敬道:“陛下是天下之父,</div> </li> <li><a href="/article/3512.htm" title="选择某个属性值最大的那条记录(不仅仅包含指定属性,而是想要什么属性都可以)" target="_blank">选择某个属性值最大的那条记录(不仅仅包含指定属性,而是想要什么属性都可以)</a> <span class="text-muted">Rainbow702</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/group+by/1.htm">group by</a><a class="tag" taget="_blank" href="/search/%E6%9C%80%E5%A4%A7%E5%80%BC/1.htm">最大值</a><a class="tag" taget="_blank" href="/search/max/1.htm">max</a><a class="tag" taget="_blank" href="/search/%E6%9C%80%E5%A4%A7%E7%9A%84%E9%82%A3%E6%9D%A1%E8%AE%B0%E5%BD%95/1.htm">最大的那条记录</a> <div>好久好久不写SQL了,技能退化严重啊!!! &nbsp; 直入主题: 比如我有一张表,file_info, 它有两个属性(但实际不只,我这里只是作说明用): file_code, file_version 同一个code可能对应多个version 现在,我想针对每一个code,取得它相关的记录中,version 值 最大的那条记录, SQL如下: select * </div> </li> <li><a href="/article/3639.htm" title="VBScript脚本语言" target="_blank">VBScript脚本语言</a> <span class="text-muted">tntxia</span> <a class="tag" taget="_blank" href="/search/VBScript/1.htm">VBScript</a> <div>&nbsp; VBScript 是基于VB的脚本语言。主要用于Asp和Excel的编程。 &nbsp; VB家族语言简介 &nbsp; Visual Basic 6.0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;源于BASIC语言。 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 由微软公司开发的包含协助开发环境的事</div> </li> <li><a href="/article/3766.htm" title="java中枚举类型的使用" target="_blank">java中枚举类型的使用</a> <span class="text-muted">xiao1zhao2</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/enum/1.htm">enum</a><a class="tag" taget="_blank" href="/search/%E6%9E%9A%E4%B8%BE/1.htm">枚举</a><a class="tag" taget="_blank" href="/search/1.5%E6%96%B0%E7%89%B9%E6%80%A7/1.htm">1.5新特性</a> <div>枚举类型是j2se在1.5引入的新的类型,通过关键字enum来定义,常用来存储一些常量. &nbsp; 1.定义一个简单的枚举类型 public enum Sex { MAN, WOMAN } &nbsp; 枚举类型本质是类,编译此段代码会生成.class文件.通过Sex.MAN来访问Sex中的成员,其返回值是Sex类型. &nbsp; 2.常用方法 静态的values()方</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>