当前位置: 首页 > 面试题库 >

如何从DSpace中的反馈页面的修改版本中获得引荐页面(项目)的标题?

胡厉刚
2023-03-14
问题内容

我如何从修改后的反馈页面中获取项目的标题,就像在jspui中“推荐此项目”一样?我也希望生成页面的结果网址,例如http://example.com/feedback?handle=123456789/123。我已经在上一篇文章中的评论中提出了这个问题,但是我不知道如何使用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

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

我认为在这里发布太久了。

检查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);

并且在Aspects / 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/**">

想要什么

PD-我忘了提要添加SolicitarCorreccionForm的导入:

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

希望对您有所帮助。



 类似资料:
  • 问题内容: 我正在使用由maven2管理的Java Web应用程序。我们有时会进行一些更改,并希望发布新版本,当然还有新版本号。在首页(jsp)中,有类似 是否有可能,每次执行新发行版时,仅更改pom.xml中的内容,而该maven $ {project.version}会自动填充jsp中的版本号吗? 我尝试了Maven配置文件,但是它似乎不起作用。 有任何想法吗? 谢谢。 问题答案: 也许这很愚

  • 右上角的图片: 准备一个图片top.bmp,在 ; MUI 预定义常量 下面添加以下代码: !define MUI_HEADERIMAGE !define MUI_HEADERIMAGE_RIGHT !define MUI_HEADERIMAGE_BITMAP "top.bmp" 注释: 第1行:定义上面图片。(如果不定义,默认显示的是安装程序图标) 第2行:定义图片的位置。本行定义显示在右边。

  • 我目前正在使用PHP制作一个聊天机器人,可以在wiki上进行研究,并自动发送介绍,这是wiki api json(https://zh.wikipedia.org/w/api.php?format=json 我想提前拿到摘录部分

  • 本文向大家介绍在Drupal中的博客索引页面上更改标题,包括了在Drupal中的博客索引页面上更改标题的使用技巧和注意事项,需要的朋友参考一下 默认情况下,“博客”模块索引页上的标题标签(安装模块后可在/ blog找到)是“博客|网站名称”,在Drupal的后端不可编辑。我一直在与其他Drupal开发人员进行交谈,并在论坛上阅读有关更改博客索引页面标题的最佳方法。想法的范围从编辑或复制博客模块(这

  • 我需要调用不同的头来托管和关于下面提到的页面,当执行下面的代码时,我得到的错误是“未定义的类常量‘hosting’”。建议我如何解决这个问题,并为不同的页面调用不同的标题。

  • 我在JSF xhtml页面中有选择菜单。选择菜单包含一个 该值正在以状态存储。 这很好用。我必须在下一列中打印h:outputText中的值。 打印代码而不是代码对应的值,因为该值在statusList中。 有没有什么方法可以在不修改后备bean的情况下实现这一点。