[Liferay]liferay hooks 修改 jsp

本教程指导您如何使用钩子自定义现有Liferay JSP文件,并创建新的JSP页面,包括覆盖现有的create_account.jsp,添加自定义字段询问用户是否感兴趣成为宇航员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CUSTOMIZING JSP FILES
  • You can use Hooks to customize existing JSP files in the portal and to create new ones. 
  • Overriding JSPs in the portal:
    • Changes are reversed when undeployed.
    • Copies existing xxx.jsp to xxx.portal.jsp
    • Use liferay-util:buffer to minimize upgrade headaches when customizing a JSP.
    • Certain portlets have *-ext.jsp patterns already.
OVERRIDE CREATE ACCOUNT
  • Guests need to click the Create Account link in the Sign In portlet to create a portal account. 
  • We'll overwrite the create_account.jsp with a customer field asking about their interest in becoming an astronaut.


  1. Go to File → New → Liferay Hook.
  2. Select the training for the Hook plugin project.
  3. Check the Custom JSPs check box.
  4. Click Next.

  5. Accept the default path for the Custom JSP folder.
  6. Click the Add from Liferay... button to override an existing JSP page.
  7. In the search box, begin typing the word create and select create_account.jsp when it appears in the results window.  You can also browse to html → portlet → login → create_account.jsp.
  8. Click Ok, then Finish.


  • Browse to your Tomcat bundle too see what happened to the original file:
    • C:\liferay\bundles\liferay-portal-[version]\tomcat-[version]\webapps\ROOT\html\portlet\login
    • Now, create_account.training-hook.jsp has been added into the folder, in replace of create_account.portal.jsp.


  • Why?
    • When you undeploy your hook, the original file will be restored.
    • You can include the original file from yours using the following code:
<%@ taglib uri="http://liferay.com/tld/util" prefix="liferay-util" %>

<liferay-util:include page="/html/portlet/navigation/view.jsp" useCustomPage="false"  />


  • Liferay Developer Studio has created a copy of the create_account.jsp in the project docroot/custom_jsps/html/portlet/login/ directory. Open the newly created jsp file: 
    1. Search and find the keyword <aui:input model="<%= User.class %>" name="emailAddress" />
    2. Add the following code after that line, before the closing tag </aui:column>
    3. <span style="color:#ff0000;font-style: italic;"><</span>div class="exp-ctrl-holder">
      	<liferay-ui:custom-attribute
      		className="<%= User.class.getName() %>"
      		classPK="<%= 0 %>"
      		editable="<%= true %>"
      		label="<%= true %>"
      		name="interested-in-becoming-an-astronaut"
      	/>
      </div><span style="color:#ff0000;font-style: italic;">
      </span>


    4. Save the file and wait for the hook to be redeployed.
    5. Log out if you are currently logged in.
    6. Click the Create Account link in the Sign In portlet.
      • You should see the new custom fields under Email Address.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值