gpt4 book ai didi

java - 如何从 DSpace 反馈页面的修改版本中获取引用页面(项目)的标题?

转载 作者:行者123 更新时间:2023-12-01 12:29:24 25 4
gpt4 key购买 nike

如何从反馈页面的修改版本中获取项目的标题,就像 jspui 中的“推荐此项目”一样?我还希望生成像 http://example.com/feedback?handle=123456789/123 这样的页面结果 url。我在上一篇文章中向 comment 提出了这个问题,但我不知道如何使用 HandleManager。我已多次尝试使用 itemRequestForm 中的部分代码,但总是出现空指针错误。

    DSpaceObject dso = HandleUtil.obtainHandle(objectModel);
if (!(dso instanceof Item)) {
return;
}
Request request = ObjectModelHelper.getRequest(objectModel);
boolean firstVisit=Boolean.valueOf(request.getParameter("firstVisit"));

Item item = (Item) dso;

我也尝试查看/ViewArtifacts/sitemap.xmap,但现在我无法弄清楚我缺少什么。

最佳答案

您可以在以下位置获取 DS-2099 的完整补丁:

https://github.com/arvoConsultores/DSpace/commit/3e971d70daaa4762a443c89fb7fa6f9e5b8e630d.patch

(提示:您可以将“.patch”添加到 github 的提交中以查看补丁)

我认为在这里发帖太长了。

检查SolicitarCorreccionForm以显示标题和您想要的内容,使用我的其他响应从句柄获取数据,而不是:

feedback.addPara(T_para1.parameterize(parameters.getParameter("handle","unknown")));

你应该这样做:

String handle=parameters.getParameter("handle","unknown");

// context=new Context(); // Context exist in a form:

DSpaceOBject dso = HandleManager.resolveToObject(context,handle);

if (dso instanceof Item){
Item item=((Item)dso);
DCValue[] titles= item.getMetadata("dc", "contributor", "author",null);

feedback.addPara(titles[0].value); // check for nulls or multiple values;
}

要将标题发送到邮件类,您应该执行以下操作:

feedback.addHidden("title").setValue(titles[0].value);

在方面/ViewArtifacts/sitemap.xmap,您应该设置参数:

<map:transform type="SolicitarCorreccionForm">
<map:parameter name="title" value="{title}" />
...

获取 SendSolicitarCorreccionAction 并发送到电子邮件,将参数添加到邮件中,例如:

String title= request.getParameter("title");
email.addArgument(title); // Titulo
...

您想要更改网址

<map:match pattern="solicitarCorreccion/**">

你想要什么。

P.D.-我忘记提及添加 SocitarCorreccionForm 的导入:

import org.dspace.content.DCValue;
import org.dspace.content.DSpaceObject;
import org.dspace.content.Item;
import org.dspace.handle.HandleManager;

我希望这会有所帮助。

关于java - 如何从 DSpace 反馈页面的修改版本中获取引用页面(项目)的标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26064830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com