#

关于Scala的路徑依赖类型(Path-dependent type)

巧了我就是萌 提交于 2020-03-20 21:21:53
3 月,跳不动了?>>> 咋看这个术语,有点吓倒。其实不是什么新东西,也是讲关于内部类和外部类的事,不过两者有点区别。在Scala中,内部类和外部类的一些行为特性和Java差不多。 请看如下的Scala代码: class Outer { private val x = 10 class Inner { private val y = x + 10 } } val outer = new Outer val inner = new outer.Inner // inner变量可以显式声明类型 val inner: outer.Inner = new outer.Inner 内部类Inner可以存取外部类成员(包括private成员),但外部类不能存取内部类的private成员. 内部类之所以能存取外部类的成员,是因为内部类隐含地持有外部类的实例。这点和Java是一样的,上述的代码可以用Java语言来表达: public class Op { public void test1(){ Outer outer = new Outer(); Outer.Inner inner = outer.new Inner(); System.out.println(inner); } public static void main(String[] args) { Op op = new Op();

关于页面中锚跳转问题

落花浮王杯 提交于 2020-02-29 01:04:54
一般页面的锚跳转都是通过href=“#id"的方式跳转,但是我的项目 ,ssh框架的 ,不知道什么原因,只要是href中#开头,就跳到项目默认页面index.jsp。 后来找到了别的办法,不用超链接 ,改用方法调用,用下面代码:onClick="window.location.hash= 'topp';" topp是我定义的锚点,结果好使了。 但是超链接失效的原因至今不知道,如果有知道的朋友请告诉一下 来源: oschina 链接: https://my.oschina.net/u/170467/blog/345826

struts2的OGNL表达式

这一生的挚爱 提交于 2020-01-09 20:20:10
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、 sturts2OGNL表达式,即 Object Graph Navigation Language,对象图形化导航语言。是一门方便操作对象属性的表达式语言。具有以下特点: 1、支持对象方法调用和值的访问。如user.getUsername(),#user.name 2、支持赋值和计算操作。如 price = 100,num = 2,则caculatePrice()值为200 3、支持访问OGNL上下文(OGNL context)和ActionContext 4、支持对集合对象的操作 二、OGNL表达式的使用 OGNL常和Struts2标签结合使用,非常灵活,可以用 "%"、"#"、"$"来操作。 1、#的使用方式,#相当于ActionContext.getContext(); #request.username 相当于 request.getAttribute("username"); #session.username 相当于 session.getAttribute("username"); #application.username相当于 application.getAttribute("username"); #还可以用于构造map:如#{"1","a","2","b","3","c"} 2、%

OGNL表达式struts2标签“%,#,$”

旧巷老猫 提交于 2020-01-09 19:35:37
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> OGNL表达式struts2标签“%,#,$” 一、什么是OGNL,有什么特点? OGNL(Object-GraphNavigationLanguage),大概可以理解为:对象图形化导航语言。是一种可以方便地操作对象属性的开源表达式语言。OGNL有如下特点: 1 、支持对象方法调用,形式如:objName.methodName(); 2 、支持类静态的方法调用和值访问,表达式的格式为@[类全名(包括包路)]@[方法名|值名],例如: @java .lang.String @format ( 'foo%s' , 'bar' )或 @tutorial .MyConstant @APP_NAME ; 3 、支持赋值操作和表达式串联,例如: price= 100 ,discount= 0.8 ,calculatePrice(),这个表达式会返回 80 ; 4 、访问OGNL上下文(OGNLcontext)和ActionContext; 5 、操作集合对象。 二、使用OGNL表达式 OGNL要结合struts标签来使用。由于比较灵活,也容易把人给弄晕,尤其是“%”、“#”、“$”这三个符号的使用。由于$广泛应用于EL中,这里重点写%和#符号的用法。 1 、“#”符号有三种用途: ( 1 )、访问非根对象