我们正在尝试确定如何为我们正在实现的服务实现一个简单的插件框架,该框架允许“插入”不同类型的计算器。
阅读了许多有关Java插件框架的文章后,似乎最常见的选择是:
OSGI似乎超出了我们的需要。
可以“自己滚动”,但是重用公共库会很好。
因此,我们只涉及JPF和JSPF。JPF似乎不再活跃。
JSPF看起来非常简单,实际上是我们所需要的。但是,我对此知之甚少。我只看到一个帖上了。还有其他人对JSPF有任何经验吗?或对此设计选择还有其他意见吗?
更新 :不一定有正确的答案..但是,我们将采用Pavol的想法,因为我们只需要一个非常非常简单的解决方案。感谢EoH提供的指导。
如果您计划仅具有一个(或只有几个)不太复杂的“扩展点”,那么定义良好的SPI和一项配置可能就足够了。无需使用插件框架。
通过配置,我的意思是找到插件的某种机制。例如,类似META-INF/services/
或仅在配置文件中列出您的插件的内容。
更多详细信息(根据要求):
SPI = 服务提供者接口,“
API的实现者端等效”。要了解更多信息,请尝试寻找API和SPI之间的区别。但是,在这种情况下,这只是您的插件要实现的接口(即为您的插件定义合同)的幻想。
Ethan Nicholas 撰写的一篇不错的简短文章“
创建服务提供者接口
”描述了如何以与Java平台本身的多个部分相同的方式创建自己的SPI。
META- INF/services/
可以看作是创建SPI的更通用的方法。有关更多信息,请参见JAR文件规范的相应部分。
该插件在每个节点的前面呈现复选框图标,使多项选择变得更加容易。 它还支持三态行为,这意味着如果节点上有几个子节点处于选中状态,它将被呈现为不确定状态,并且状态将向上传播。 $.jstree.defaults.checkboxcheckbox plugin 存储复选框插件的所有默认值 $.jstree.defaults.checkbox.visiblecheckbox plugin 指示复选框是否可
该插件在每个节点的前面呈现复选框图标,使多项选择变得更加容易。 它还支持三态行为,这意味着如果节点上有几个子节点处于选中状态,它将被呈现为不确定状态,并且状态将向上传播。您也可以使用级联配置选项微调级联选项。 请记住,级联复选框将检查甚至禁用的节点。 未确定的状态是自动计算的,但是如果您正在使用AJAX并按需加载,并且想要"undetermined" : true 在其状态下将节点渲染为低通通道。
问题内容: 我们正处于将基于自定义开发的mvc框架构建的大型网站迁移到基于Java的网络框架的计划阶段,该网络框架对ajax,富媒体内容,混搭,基于模板的布局,验证,最大html /提供内置支持java代码分离。Grails看起来是一个不错的选择,但是,我们不想使用脚本语言。我们要继续使用Java。基于模板的布局是首要考虑的问题,因为我们打算将此Web应用程序用于功能相似但外观完全不同的多个网站。
2018年5月24日更新:我们现在有3个版本的Angular从我原来的帖子,仍然没有一个最终可行的解决方案。Lars Meijdam(@LarsMeijdam)提出了一个有趣的方法,当然值得一看。(由于专有问题,他不得不临时删除他最初发布样本的GitHub存储库。但是,如果您想要副本,您可以直接给他发消息。有关更多信息,请参阅下面的评论。) Angular 6最近的架构变化确实让我们更接近解决方案
问题内容: 我正在寻找一个Java Web框架,该框架可让我充分使用jQuery,例如.NET平台上的ASP.NET MVC。 有什么建议吗? 问题答案: 如果您想用Java的jQuery着迷,那就去寻找基于请求/动作的MVC框架,例如Struts 1.x ,Spring MVC ,Stripes或Play等等。其中,Spring MVC是最合适的。 基于组件的MVC框架(如JSF,Struts
mpVue 插件版小程序框架 SDK 接入mpVue插件版小程序框架需要「微信授权」和「集成SDK」。 微信小程序授权 登录「诸葛io分析平台」后,进入「数据接入」-「微信小程序」开始微信小程序授权,点击「开始授权」,进入「微信授权」页面进行授权。 注: 微信小程序授权必须是企业号(已发布并审核通过),个人号不能授权。 授权后,会自动采集小程序头像、小程序名称、AppID(小程序ID)等小程序信息