您可以在获得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);
而在方面/ ViewArtifacts/sitemap .xmap您应该设置参数:
<map:transform type="SolicitarCorreccionForm">
<map:parameter name="title" value="{title}" />
...
获取在SendSolicitarCorreccionAction和发送电子邮件,将参数添加到像邮件:
String title= request.getParameter("title");
email.addArgument(title); // Titulo
...
你喜欢对子级的URL从
改变
<map:match pattern="solicitarCorreccion/**">
你想要什么。
P.D.-我忘记提及加SolicitarCorreccionForm进口:
import org.dspace.content.DCValue;
import org.dspace.content.DSpaceObject;
import org.dspace.content.Item;
import org.dspace.handle.HandleManager;
我希望这帮助。
哪行代码给你一个NullPointerException?一目了然,代码看起来足够合理,但它已经脱离了上下文,因此很难确定哪一行(或多行)不能正常工作。 – 2014-09-29 14:10:56
另外,你在修改什么课程?上面借用的代码看起来是一个“Action”类(扩展了“AbstractAction”类),例如[SendItemRequestAction](https://github.com/DSpace/DSpace/blob/master/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/artifactbrowser/SendItemRequestAction.java#L97)。如果您试图修改[FeedbackForm](https://github.com/DSpace/DSpace/blob/master/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/artifactbrowser/FeedbackForm 。java),这段代码不会像“objectModel”Map不存在一样工作。 – 2014-09-29 14:17:41
忽略我之前的评论..我现在注意到FeedbackForm扩展了[AbstractDSpaceTransformer](https://github.com/DSpace/DSpace/blob/master/dspace-xmlui/src/main/java/org/dspace/app/xmlui /cocoon/AbstractDSpaceTransformer.java),它定义了“objectModel”映射。所以,你*应该*能够在FeedbackForm中使用这段代码。可能我们只需要更多关于NullPointerException发生的信息。 – 2014-09-29 14:28:58