多亏了您的帮助,我在定制方面取得了一些重大进展,并期待着同样的进步。我在“高级”选项卡中创建了自定义选项卡,现在看起来像这样。我已经能够添加一个文本字段以及一个“保存”按钮。我实际上遵循了“编辑空间详细信息”选项,并采用了两个表单元素来实现输出。这就是我的虚拟机现在的样子。
##requireResource("confluence.web.resources:space-admin")
<html>
<head>
<title>Freeway Project Creation</title>
<meta name="decorator" content="atl.general" />
</head>
<content tag="key">$action.space.key</content>
<body>
#applyDecorator("root")
#decoratorParam("helper" $action.helper)
#decoratorParam("context" "space-administration")
#decoratorParam("mode" "view-space-administration")
#applyDecorator ("root")
#decoratorParam ("context" "spaceadminpanel")
#decoratorParam ("selection" "add-fpc-label-action-web-ui")
#decoratorParam ("title" $action.getText("action.name"))
#decoratorParam ("selectedTab" "admin")
#decoratorParam("helper" $action.helper)
<div >
<table width="95%" border=0 cellspacing=0 cellpadding=5>
<form name="editspace" method="POST" >
#bodytag( "TextField" "label='space-name'" "name='name'" "size=40" )
#param ("labelwidth" "100")
#param ("tdcolor" "f0f0f0")
#end
<tr>
<td colspan="2" align="center">
#tag( "Submit" "name='confirm'" "value='update.name'" "theme='notable'" )
#tag( "Submit" "name='cancel'" "value='cancel.name'" "theme='notable'" )
</td>
</tr>
</form>
</table>
</div>
#end
#end
</body>
</html>
我想了解这种与我的 JAVA 类的交互将如何产生类似的输出。例如:我将在名称的文本框中输入名称并点击保存,在结果页面上它必须显示输入的名称。
到目前为止,我指定的 java 类看起来像这样。
package com.atlassian.myorg;
import com.atlassian.confluence.core.ConfluenceActionSupport;
import com.atlassian.confluence.pages.AbstractPage;
import com.atlassian.confluence.pages.actions.PageAware;
import com.opensymphony.xwork.Action;
/**
* The simplest action possible
*/
public class FreewayProjectAction extends ConfluenceActionSupport
{
@Override
public String execute() throws Exception
{
return Action.SUCCESS;
}
}
所以我有3个问题:
当我将鼠标悬停在“保存”按钮上时,“编辑空间详细信息”会显示以下 URL“http://localhost:1990/confluence/spaces/doeditspace.action?key=LBTEST”。我假设它的管理 Java 类是 EditSpaceDetails。那么当我们尝试保存空间的编辑操作时,该类中的 doEdit() 方法(请参见此处)是否生效?我可以查看专门用于此编辑空间详细信息操作的映射的 xml 吗?我的假设是否正确?
为了拥有我之前提到的这样一个功能,即显示在我的自定义页面中输入的名称,如上所述,我的 Java 类中需要进行哪些更改。
在我刚刚自定义的页面中,有文本框,标签是 'Name' 。我应该使用不同的 xml 以便我可以提供像“项目名称”这样的自定义标签吗?
请给我同样的建议。
谢谢安吉