问题标签 [expando]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
81 浏览

c# - 如何使用 ExpandoObjects 替换列出的增量组合类?

我不认为在这个意义上可以使用设计模式。案例场景是有一个基础对象,该对象具有这些属性和始终定义的相应 getter/setter:(id、name、content)。除此之外,还有一些具有可选属性和相应的 getter/setter(评论、作者、已删除)的对象。我希望这些对象为 API 提供我所需要的确切属性/方法。

一种方法是将所有内容放在一个状态膨胀的类中

另一种是有多个类,但这会导致类名膨胀

由于始终具有(id、name、content)和三个可选变量的类的所有可能配置都是 2^3,我想知道是否有办法使用设计模式(希望没有反射)来做到这一点。请记住,我知道我可以使用更轻松的类型语言或仅使用 JSON/XML,但这不是重点:P。此外,如果这完全相关,我也不熟悉部分类(来自 C#)。

正如它指向我的那样,ExpandoObjects 可能就是这样。您能否提供一些示例代码来表示ArticleWithCommentsDeletedArticleWithAuthorAndComments例如,这样就不需要将这些定义为单独的类?

谢谢

0 投票
1 回答
380 浏览

java - Liferay 主题和 portlet 通信

我有一个嵌入主题的 portlet。我发现允许主题从 portlet 获取参数值的唯一解决方案是使用中间数据库。我所做的是我在 portlet 中创建了一个表,然后我尝试从主题访问这个表:

Portlet 中的 Java 代码:

主题中的速度代码:

但我得到的结果是:

表 ClientTab 不存在

我使用这些参考来开发我的代码:

http://myjavaexp.blogspot.com/2013/01/liferay-expando-services.html

http://www.programcreek.com/java-api-examples/index.php?api=com.liferay.portlet.expando.DuplicateColumnNameException

http://www.liferay.com/fr/web/raymond.auge/blog/-/blogs/715049

0 投票
1 回答
1393 浏览

liferay - 如何在 life ray 现有用户表中添加自定义字段?

我要求网站所有者有权创建用户并能够查看仅由他创建的用户列表。

为了达到同样的效果,我创建了一个带有基本用户详细信息的表单的 portlet。在我的操作类中提交表单时,我通过调用以下方法在 USER_ 表中插入用户详细信息:

现在用户正在 USER_ 表中创建。但是在显示用户列表时,我只需要显示由该站点所有者创建的用户。

所以我想siteId在用户表中再插入一列,并在基于siteId我想优化列表并在 UI 上显示的基础上进行提取。

因此,我已经了解了 Expando 的概念,但我没有正确了解如何根据我的要求使用它。

因此,请任何人建议我如何在调用addUser方法时插入“siteId”,同时根据此siteID需要获取用户列表。

提前致谢。

0 投票
1 回答
892 浏览

liferay - liferay:如何从 BD 中的“expandovalue”表中获取数据?

在我的liferay 中,我有一个供用户填写的Web 表单portlet。填写表格后,数据将存储在数据库中的表expandovalue中

现在我正在尝试检索该数据并将其显示在一个 portlet 中,我找到了很多关于 expando 的文档,但大多数文档都是针对旧版本的 liferay 的,我不确定这就是我正在寻找的。因为expando似乎适用于自定义字段和我的场景数据存储在默认数据库表中

如何获取存储在数据库表“expandovalue”中的数据并将其显示在 portlet 中?

0 投票
1 回答
538 浏览

liferay - Liferay - 暂存时自定义属性为空

我在 Liferay 暂存模式中获取自定义属性(站点)的值时遇到问题。

我正在尝试在我的主题中使用以下代码获取值:

但是staging 的输出是空的:

现场输出:

我正在使用 Liferay 6.2+

你有什么想法?谢谢你!

0 投票
1 回答
217 浏览

c# - 将 LINQ 异常类型结果(如属性包集合)传递给 ASP.NET 5 MVC 视图

我四处搜索,人们谈论将 ExpandDo 与动态一起使用,但我无法弄清楚如何使用从 LINQ 查询返回的集合来执行此操作。

我正在两个表(学生和注册)之间对我的数据库进行内部连接

我试过了

我有

在我的 View.cshtml 的顶部

但是当我尝试导航到 Web 应用程序中的控制器时,会出现此错误:

传入字典的模型项的类型为“System.Dynamic.ExpandoObject”,但此字典需要“System.Collections.Generic.IEnumerable`1[System.Object]”类型的模型项。''

我也试过:

但在我看来(.cshtml 文件)我

它会在@Html.Raw 行与

App_Web_index.cshtml.1bbec3a6.jtomobws.dll 中出现“Microsoft.CSharp.RuntimeBinder.RuntimeBinderException”类型的异常,但未在用户代码中处理

理想情况下,我想把它做成一个班轮。在我看来,我希望能够遍历一组属性包,并提取学生和课程字段。所以我的属性包将包含属性 Student 和 Course,它们是它们的集合。我看过很多类似的帖子,但没有人这样做

谢谢托马斯

0 投票
1 回答
765 浏览

c# - 如何显示在 .aspx 网站中以编程方式生成的表格

我在显示以编程方式生成的表格时遇到问题。让我解释。我有一个看起来像这样的 XML:

这种方法:

正在将节点放入 Expando-Object。有了这个对象,我想以编程方式在 .aspx 网站中生成一个表。为了生成我调用这个方法:

到目前为止一切都很好。行和单元格都以正确的值添加到表中,没有异常或其他任何内容,该表未显示在网站中。我真的不知道为什么没有任何显示,所以我希望你能帮助我。

0 投票
0 回答
446 浏览

c# - Expando 对象访问不存在的属性

我正在处理 C# 中的 expando 对象,但是,我想知道当我们访问不存在的属性时,我们是否有办法分配一个预定义的值,例如“找不到道具”?我的代码如下,如果我们访问字典中的未知属性(转换为 expandoObject),我有 Runtimebinderexception。

那么有什么方法可以避免异常并显示上面的值(Prop not found)?谢谢

0 投票
1 回答
1756 浏览

c# - 无效的存储类型:DBNull

当使用 expando 对象填充我的数据表时,我在初始化一个新的datarow. 例外是:

无效的存储类型:DBNull

0 投票
2 回答
988 浏览

c# - 如何在 expando 对象中搜索

我得到了这样的json对象-

在此处输入图像描述

有时像这样-

在此处输入图像描述

所以对象的顺序是不固定的。在上面的示例中,“CreatedOn”字段需要存储在 DB 中。

我正在使用以下代码将其转换为 expandoobject -

在这里 ConvertJTokenToObject -

现在,问题是我不知道哪个“维度”元素将具有“CreatedOn”字段。

这适用于第一种情况 -

但在另一种情况下会中断,因为它应该是 -

如何按“CreatedOn”、“Status”等字段名称搜索 expandoobject。