<action>元素属性parameter的作用

本文详细介绍Struts框架中DispatchAction的使用方法,通过继承DispatchAction并结合struts-config.xml配置,可以实现根据不同请求调用Action中不同的方法,从而避免在execute方法中使用复杂的if-else逻辑。

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


转发自:http://ocaicai.iteye.com/blog/1096275

1.简介:

没有struts之前,使用servlet,最常用的是 doGet,doPost,service方法,如果有些经验的程序员会合理的使用这三个方法:如在用户发出get的请求时,将用户请求在doGet方法中处理,用户发出post请求时,将用户的请求用doPost请求处理,必要时加上service方法去处理那些在一个servlet中必须执行的请求,用户的请求大体也就这三类,但是如果细分,一个“编辑”,“删除”,“查看”等操作都是doGet的范围,当然也可以都写到serice方法中或 doPost中处理,这样为了区分这些请求,我们通常都要在程序中加入一个判断的参数,如:operate,然后在程序中判断 if operate.equals("update")....,if operate.equals("del")....,if operate.equals("view")....等,实际上这只是个简单的逻辑,如果业务更加复杂,你可能写更多的类时operate的参数,这样就造成程序中有若干if..else if...else if ..,即便你有非常好的编码规范,整齐的缩进,这个程序也相当难维护;而用到struts时,你又可能把这些参数都写到execute方法中;那么最好的方法还是将这些逻辑分开处理,如果执行“编辑”操作的时候调用“编辑”对应的方法,执行“删除”的时候调用“删除”对应的方法...将是比较理想的结果,为了实现这个应用要求,struts引入许多类型的工具类,如:MappingDispathAction,LookDispachAction,DispatchAction,以满足不同要求的需要,这样你在struts-config.xml文件的action元素中增加 parameter属性即可实现这个功能。



2.下面是Struts中的一些常用Action如DispatchAction/LookupDispatchAction/MappingDispatchAction/ForwardAction/IncludeAction的总结


Java代码   收藏代码
  1. ② 第二就是使UserAction继承DispatchAction,不需要重写execute方法:  
  2. public ActionForward create(ActionMapping mapping,  
  3.                            ActionForm form,  
  4.                            HttpServletRequest request,  
  5.                            HttpServletResponse response)  
  6.         throws Exception {  
  7.     // 進行一些create的逻辑  
  8.     // ……  
  9.     return mapping.findForward("createUser");  
  10. }  
  11. public ActionForward save(ActionMapping mapping,  
  12.                            ActionForm form,  
  13.                            HttpServletRequest request,  
  14.                            HttpServletResponse response)  
  15.         throws Exception {  
  16.     // 進行一些save的逻辑  
  17.     // ……  
  18.     return mapping.findForward("saveUser");  
  19. }  
元素属性parameter的作用" style="display: none;">② 第二就是使UserAction继承DispatchAction,不需要重写execute方法:
public ActionForward create(ActionMapping mapping,
                           ActionForm form,
                           HttpServletRequest request,
                           HttpServletResponse response)
        throws Exception {
    // 進行一些create的逻辑
    // ……
    return mapping.findForward("createUser");
}
public ActionForward save(ActionMapping mapping,
                           ActionForm form,
                           HttpServletRequest request,
                           HttpServletResponse response)
        throws Exception {
    // 進行一些save的逻辑
    // ……
    return mapping.findForward("saveUser");
}

Xml代码   收藏代码
  1.  DispatchAction 在配置上和一般Action稍有不同,就是要在Action配置中多一个parametr属性,这个属性可以指定执行DispatchAction中对应的方法。  
  2. struts-config.xml 中:  
  3. <action path="/processUser" type="examples.UserAction"  
  4.         name="userForm"  
  5.         scope="request"  
  6.         parameter="method">  
  7.     <forward name="createUser" path="/pages/listUser.jsp"/>  
  8.     <forward name="saveUser" path="/pages/saveUser.jsp"/>  
  9. </action>  



4.详细请参考:
(1)
http://blog.youkuaiyun.com/newpiaoyun/archive/2008/09/10/2907703.aspx

(2)
http://huangliangbao.iteye.com/blog/816332


5.总结:
这样我们就可以不再在execute方法中写那么多的if(){}else(){}咯


一、

让Action方法继承至DispatchAction

Java代码   收藏代码
  1. package com.cdl.mail.struts.action;  
  2.   
  3. import javax.servlet.http.HttpServletRequest;  
  4. import javax.servlet.http.HttpServletResponse;  
  5. import org.apache.struts.action.ActionForm;  
  6. import org.apache.struts.action.ActionForward;  
  7. import org.apache.struts.action.ActionMapping;  
  8. import org.apache.struts.actions.DispatchAction;  
  9.   
  10.   
  11. public class StudentAction extends DispatchAction  {  
  12.   
  13.     //不需要重写execute方法了  
  14. //  public ActionForward execute(ActionMapping mapping, ActionForm form,  
  15. //          HttpServletRequest request, HttpServletResponse response) {  
  16. //      String paraStr = request.getParameter("actionMethod");  
  17. //      System.out.println("execute方法获得参数:" + paraStr);  
  18. //      return mapping.findForward("success");  
  19. //  }  
  20.     public ActionForward isExist(ActionMapping mapping, ActionForm form,  
  21.             HttpServletRequest request, HttpServletResponse response) {  
  22.         String paraStr = request.getParameter("actionMethod");  
  23.         System.out.println("isExist方法获得参数:" + paraStr);  
  24.         return mapping.findForward("success");  
  25.     }  
  26.     public ActionForward save(ActionMapping mapping, ActionForm form,  
  27.             HttpServletRequest request, HttpServletResponse response) {  
  28.         String paraStr = request.getParameter("actionMethod");  
  29.         System.out.println("save方法获得参数:" + paraStr);  
  30.         return mapping.findForward("success");  
  31.     }  
  32. }  
元素属性parameter的作用" style="display: none;">package com.cdl.mail.struts.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;


public class StudentAction extends DispatchAction  {

	//不需要重写execute方法了
//	public ActionForward execute(ActionMapping mapping, ActionForm form,
//			HttpServletRequest request, HttpServletResponse response) {
//		String paraStr = request.getParameter("actionMethod");
//		System.out.println("execute方法获得参数:" + paraStr);
//		return mapping.findForward("success");
//	}
	public ActionForward isExist(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String paraStr = request.getParameter("actionMethod");
		System.out.println("isExist方法获得参数:" + paraStr);
		return mapping.findForward("success");
	}
	public ActionForward save(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String paraStr = request.getParameter("actionMethod");
		System.out.println("save方法获得参数:" + paraStr);
		return mapping.findForward("success");
	}
}


二、在struts-config.xml中配置<action>的parameter属性,相当于map的key,一个key可以对应多个value哦!

Xml代码   收藏代码
  1. <action parameter="actionMethod" path="/student"   
  2.     type="com.cdl.mail.struts.action.StudentAction">  
  3.     <set-property property="cancellable" value="true" />  
  4.     <forward name="success" path="/index.jsp" />  
  5. </action>  


三、在视图层testPara.jsp中,在url中配置参数key-value,相当于一个key可以对应多个value哦!实际上就是一个类对应到多个方法!

Html代码   收藏代码
  1. <body>  
  2.         <a href="student.do?actionMethod=isExist">执行isExist方法</a> <br>  
  3.         <a href="student.do?actionMethod=save">执行save方法</a> <br>  
  4. </body>  
元素属性parameter的作用" style="display: none;">  <body>
				<a href="student.do?actionMethod=isExist">执行isExist方法</a> <br>
				<a href="student.do?actionMethod=save">执行save方法</a> <br>
  </body>



最后,有图有真相:













.



<?xml version="1.0" encoding="utf-8"?> <Language Name="English"> <LocaleResource Name="AboutUs"> <Value>About us</Value> </LocaleResource> <LocaleResource Name="Account.AccountActivation"> <Value>Account activation</Value> </LocaleResource> <LocaleResource Name="Account.AccountActivation.Activated"> <Value>Your account has been activated</Value> </LocaleResource> <LocaleResource Name="Account.AccountActivation.InvalidEmailOrToken"> <Value>Unknown email or token. Please register again.</Value> </LocaleResource> <LocaleResource Name="Account.Administration"> <Value>Admin</Value> </LocaleResource> <LocaleResource Name="Account.AssociatedExternalAuth"> <Value>External authentication</Value> </LocaleResource> <LocaleResource Name="Account.AssociatedExternalAuth.AuthMethodName"> <Value>Authentication method</Value> </LocaleResource> <LocaleResource Name="Account.AssociatedExternalAuth.Email"> <Value>Email</Value> </LocaleResource> <LocaleResource Name="Account.AssociatedExternalAuth.ExternalIdentifier"> <Value>External identifier</Value> </LocaleResource> <LocaleResource Name="Account.AssociatedExternalAuth.YourAccountWillBeLinkedTo"> <Value>Account Association: Your new user account will be linked to</Value> </LocaleResource> <LocaleResource Name="Account.Avatar"> <Value>Avatar</Value> </LocaleResource> <LocaleResource Name="Account.Avatar.MaximumUploadedFileSize"> <Value>Maximum avatar size is {0}</Value> </LocaleResource> <LocaleResource Name="Account.Avatar.RemoveAvatar"> <Value>Remove avatar</Value> </LocaleResource> <LocaleResource Name="Account.Avatar.UploadRules"> <Value>Avatar must be in GIF, PNG or JPG format with the maximum size of {0}</Value> </LocaleResource> <LocaleResource Name="Account.BackInStockSubscriptions"> <Value>Back in stock subscriptions</Value> </LocaleResource> <LocaleResource Name="Account.BackInStockSubscriptions.DeleteSelected"> <Value>Delete selected</Value> </LocaleResource> <LocaleResource Name="Account.BackInStockSubscriptions.Description"> <Value>You will receive an e-mail when a particular product is back in stock.</Value> </LocaleResource> <LocaleResource Name="Account.BackInStockSubscriptions.NoSubscriptions"> <Value>You are not currently subscribed to any Back In Stock notification lists</Value> </LocaleResource> <LocaleResource Name="Account.BackInStockSubscriptions.ProductColumn"> <Value>Product</Value> </LocaleResource> <LocaleResource Name="Account.ChangePassword"> <Value>Change password</Value> </LocaleResource> <LocaleResource Name="Account.ChangePassword.Button"> <Value>Change password</Value> </LocaleResource> <LocaleResource Name="Account.ChangePassword.Fields.ConfirmNewPassword"> <Value>Confirm password</Value> </LocaleResource> <LocaleResource Name="Account.ChangePassword.Fields.NewPassword"> <Value>New password</Value> </LocaleResource> <LocaleResource Name="Account.ChangePassword.Fields.OldPassword"> <Value>Old password</Value> </LocaleResource> <LocaleResource Name="Account.ChangePassword.Success"> <Value>Password was changed</Value> </LocaleResource> <LocaleResource Name="Account.CheckUsernameAvailability.Available"> <Value>Username available</Value> </LocaleResource> <LocaleResource Name="Account.CheckUsernameAvailability.Button"> <Value>Check Availability</Value> </LocaleResource> <LocaleResource Name="Account.CheckUsernameAvailability.CurrentUsername"> <Value>Current username</Value> </LocaleResource> <LocaleResource Name="Account.CheckUsernameAvailability.NotAvailable"> <Value>Username not available</Value> </LocaleResource> <LocaleResource Name="Account.CompanyDetails"> <Value>Company Details</Value> </LocaleResource> <LocaleResource Name="Account.CreateAccount"> <Value>Create account</Value> </LocaleResource> <LocaleResource Name="Account.CustomerAddresses"> <Value>Addresses</Value> </LocaleResource> <LocaleResource Name="Account.CustomerAddresses.AddNew"> <Value>Add new address</Value> </LocaleResource> <LocaleResource Name="Account.CustomerAddresses.Edit"> <Value>Edit address</Value> </LocaleResource> <LocaleResource Name="Account.CustomerAddresses.NoAddresses"> <Value>No addresses</Value> </LocaleResource> <LocaleResource Name="Account.CustomerInfo"> <Value>Customer info</Value> </LocaleResource> <LocaleResource Name="Account.CustomerOrders"> <Value>Orders</Value> </LocaleResource> <LocaleResource Name="Account.CustomerOrders.NoOrders"> <Value>No orders</Value> </LocaleResource> <LocaleResource Name="Account.CustomerOrders.NotYourOrder"> <Value>This is not your order.</Value> </LocaleResource> <LocaleResource Name="Account.CustomerOrders.OrderDate"> <Value>Order Date</Value> </LocaleResource> <LocaleResource Name="Account.CustomerOrders.OrderDetails"> <Value>Details</Value> </LocaleResource> <LocaleResource Name="Account.CustomerOrders.OrderNumber"> <Value>Order Number</Value> </LocaleResource> <LocaleResource Name="Account.CustomerOrders.OrderStatus"> <Value>Order status</Value> </LocaleResource> <LocaleResource Name="Account.CustomerOrders.OrderTotal"> <Value>Order Total</Value> </LocaleResource> <LocaleResource Name="Account.CustomerOrders.RecurringOrders"> <Value>Repeat deliveries</Value> </LocaleResource> <LocaleResource Name="Account.CustomerOrders.RecurringOrders.Cancel"> <Value>Cancel repeat delivery</Value> </LocaleResource> <LocaleResource Name="Account.CustomerOrders.RecurringOrders.CancelDelivery"> <Value>Would you like to cancel the repeat delivery?</Value> </LocaleResource> <LocaleResource Name="Account.CustomerOrders.RecurringOrders.CycleInfo"> <Value>Interval</Value> </LocaleResource> <LocaleResource Name="Account.CustomerOrders.RecurringOrders.CyclesRemaining"> <Value>Remaining</Value> </LocaleResource> <LocaleResource Name="Account.CustomerOrders.RecurringOrders.NextPayment"> <Value>Next payment</Value> </LocaleResource> <LocaleResource Name="Account.CustomerOrders.RecurringOrders.StartDate"> <Value>Start date</Value> </LocaleResource> <LocaleResource Name="Account.CustomerOrders.RecurringOrders.SuccessfullyCanceled"> <Value>The repeat delivery was successfully canceled.</Value> </LocaleResource> <LocaleResource Name="Account.CustomerOrders.RecurringOrders.TotalCycles"> <Value>Total deliveries</Value> </LocaleResource> <LocaleResource Name="Account.CustomerOrders.ReturnItems"> <Value>Return Item(s)</Value> </LocaleResource> <LocaleResource Name="Account.CustomerReturnRequests"> <Value>Return requests</Value> </LocaleResource> <LocaleResource Name="Account.CustomerReturnRequests.Action"> <Value>Return action</Value> </LocaleResource> <LocaleResource Name="Account.CustomerReturnRequests.Comments"> <Value>Your Comments:</Value> </LocaleResource> <LocaleResource Name="Account.CustomerReturnRequests.Date"> <Value>Date Requested</Value> </LocaleResource> <LocaleResource Name="Account.CustomerReturnRequests.Item"> <Value>Item</Value> </LocaleResource> <LocaleResource Name="Account.CustomerReturnRequests.Reason"> <Value>Return reason</Value> </LocaleResource> <LocaleResource Name="Account.CustomerReturnRequests.Title"> <Value>Return #{0} - {1}</Value> </LocaleResource> <LocaleResource Name="Account.CustomerSince"> <Value>Customer since {0}</Value> </LocaleResource> <LocaleResource Name="Account.DownloadableProducts"> <Value>Downloadable products</Value> </LocaleResource> <LocaleResource Name="Account.EmailUsernameErrors.EmailTooLong"> <Value>E-mail address is too long</Value> </LocaleResource> <LocaleResource Name="Account.EmailUsernameErrors.NewEmailIsNotValid"> <Value>New email is not valid</Value> </LocaleResource> <LocaleResource Name="Account.EmailUsernameErrors.UsernameTooLong"> <Value>Username is too long</Value> </LocaleResource> <LocaleResource Name="Account.Fields.City"> <Value>City</Value> </LocaleResource> <LocaleResource Name="Account.Fields.Company"> <Value>Company name</Value> </LocaleResource> <LocaleResource Name="Account.Fields.ConfirmPassword"> <Value>Confirm password</Value> </LocaleResource> <LocaleResource Name="Account.Fields.ConfirmPassword.Required"> <Value>Password is required.</Value> </LocaleResource> <LocaleResource Name="Account.Fields.Country"> <Value>Country</Value> </LocaleResource> <LocaleResource Name="Account.Fields.CustomerNumber"> <Value>Customer number</Value> </LocaleResource> <LocaleResource Name="Account.Fields.DateOfBirth"> <Value>Date of birth</Value> </LocaleResource> <LocaleResource Name="Account.Fields.Email"> <Value>Email</Value> </LocaleResource> <LocaleResource Name="Account.Fields.Fax"> <Value>Fax</Value> </LocaleResource> <LocaleResource Name="Account.Fields.FirstName"> <Value>First name</Value> </LocaleResource> <LocaleResource Name="Account.Fields.FullName"> <Value>Name</Value> </LocaleResource> <LocaleResource Name="Account.Fields.Gender"> <Value>Gender</Value> </LocaleResource> <LocaleResource Name="Account.Fields.Gender.Female"> <Value>Female</Value> </LocaleResource> <LocaleResource Name="Account.Fields.Gender.Male"> <Value>Male</Value> </LocaleResource> <LocaleResource Name="Account.Fields.LastName"> <Value>Last name</Value> </LocaleResource> <LocaleResource Name="Account.Fields.Newsletter"> <Value>I would like to subscribe to the newsletter. I agree to the <a href="{0}">Privacy policy</a>. Unsubscription is possible at any time.</Value> </LocaleResource> <LocaleResource Name="Account.Fields.Password"> <Value>Password</Value> </LocaleResource> <LocaleResource Name="Account.Fields.Password.LengthValidation"> <Value>The password should have at least {0} characters.</Value> </LocaleResource> <LocaleResource Name="Account.Fields.PasswordSecurity"> <Value>Password security</Value> </LocaleResource> <LocaleResource Name="Account.Fields.Phone"> <Value>Phone</Value> </LocaleResource> <LocaleResource Name="Account.Fields.PreferredPaymentMethod"> <Value>Preferred payment method</Value> </LocaleResource> <LocaleResource Name="Account.Fields.PreferredShippingMethod"> <Value>Preferred shipping method</Value> </LocaleResource> <LocaleResource Name="Account.Fields.Signature"> <Value>Signature</Value> </LocaleResource> <LocaleResource Name="Account.Fields.StateProvince"> <Value>State / province</Value> </LocaleResource> <LocaleResource Name="Account.Fields.StreetAddress"> <Value>Street address</Value> </LocaleResource> <LocaleResource Name="Account.Fields.StreetAddress2"> <Value>Street address 2</Value> </LocaleResource> <LocaleResource Name="Account.Fields.Timezone"> <Value>Time zone</Value> </LocaleResource> <LocaleResource Name="Account.Fields.Title"> <Value>Title</Value> </LocaleResource> <LocaleResource Name="Account.Fields.Username"> <Value>Username</Value> </LocaleResource> <LocaleResource Name="Account.Fields.VatNumber"> <Value>VAT number</Value> </LocaleResource> <LocaleResource Name="Account.Fields.VatNumber.Note"> <Value>NOTE: Enter VAT number with country code (e.g. GB 111 111 11)</Value> </LocaleResource> <LocaleResource Name="Account.Fields.VatNumber.Status"> <Value>Status</Value> </LocaleResource> <LocaleResource Name="Account.Fields.VatNumberStatus"> <Value>status: {0}</Value> </LocaleResource> <LocaleResource Name="Account.Fields.ZipPostalCode"> <Value>Zip code</Value> </LocaleResource> <LocaleResource Name="Account.ForumSubscriptions"> <Value>Forum subscriptions</Value> </LocaleResource> <LocaleResource Name="Account.ForumSubscriptions.DeleteSelected"> <Value>Delete Selected</Value> </LocaleResource> <LocaleResource Name="Account.ForumSubscriptions.Description"> <Value>You will receive an e-mail when a new forum topic/post is created.</Value> </LocaleResource> <LocaleResource Name="Account.ForumSubscriptions.InfoColumn"> <Value>Forum/Topic</Value> </LocaleResource> <LocaleResource Name="Account.ForumSubscriptions.NoSubscriptions"> <Value>You are not currently subscribed to any forums</Value> </LocaleResource> <LocaleResource Name="Account.ImpersonatedAs"> <Value>Impersonated as {0}</Value> </LocaleResource> <LocaleResource Name="Account.ImpersonatedAs.Finish"> <Value>finish impersonated session</Value> </LocaleResource> <LocaleResource Name="Account.ImpersonatedAs.Finish.Hint"> <Value>Click here to finish impersonated session</Value> </LocaleResource> <LocaleResource Name="Account.Login"> <Value>Log in</Value> </LocaleResource> <LocaleResource Name="Account.Login.CheckEmailAccount"> <Value>The credentials provided are incorrect or you have not activated your account yet. Please check your email inbox and confirm the registration.</Value> </LocaleResource> <LocaleResource Name="Account.Login.CheckoutAsGuest"> <Value>Checkout as Guest</Value> </LocaleResource> <LocaleResource Name="Account.Login.CheckoutAsGuestOrRegister"> <Value>Checkout as a guest or register</Value> </LocaleResource> <LocaleResource Name="Account.Login.Fields.Email"> <Value>Email</Value> </LocaleResource> <LocaleResource Name="Account.Login.Fields.Password"> <Value>Password</Value> </LocaleResource> <LocaleResource Name="Account.Login.Fields.RememberMe"> <Value>Remember me?</Value> </LocaleResource> <LocaleResource Name="Account.Login.Fields.UserName"> <Value>Username</Value> </LocaleResource> <LocaleResource Name="Account.Login.Fields.UsernameOrEmail"> <Value>Username or email</Value> </LocaleResource> <LocaleResource Name="Account.Login.ForgotPassword"> <Value>Forgot password?</Value> </LocaleResource> <LocaleResource Name="Account.Login.LoginButton"> <Value>Log in</Value> </LocaleResource> <LocaleResource Name="Account.Login.NewCustomer"> <Value>New Customer</Value> </LocaleResource> <LocaleResource Name="account.login.newcustomertext"> <Value>As a registered customer you will be able to shop faster, be up to date on an orders status, and keep track of the orders you have previously made.</Value> </LocaleResource> <LocaleResource Name="Account.Login.NotRegisteredYet"> <Value>Not registered yet?</Value> </LocaleResource> <LocaleResource Name="Account.Login.ReturningCustomer"> <Value>I am already registered</Value> </LocaleResource> <LocaleResource Name="Account.Login.Unsuccessful"> <Value>Login was unsuccessful. Please correct the errors and try again.</Value> </LocaleResource> <LocaleResource Name="Account.Login.Welcome"> <Value>Sign In</Value> </LocaleResource> <LocaleResource Name="Account.Login.WrongCredentials"> <Value>The credentials provided are incorrect</Value> </LocaleResource> <LocaleResource Name="Account.Logout"> <Value>Log out</Value> </LocaleResource> <LocaleResource Name="Account.MyAccount"> <Value>My account</Value> </LocaleResource> <LocaleResource Name="Account.MyOrders"> <Value>My orders</Value> </LocaleResource> <LocaleResource Name="Account.Options"> <Value>Options</Value> </LocaleResource> <LocaleResource Name="Account.PasswordRecovery"> <Value>Reset password</Value> </LocaleResource> <LocaleResource Name="Account.PasswordRecovery.ChangePasswordButton"> <Value>Recover</Value> </LocaleResource> <LocaleResource Name="Account.PasswordRecovery.ConfirmNewPassword"> <Value>Confirm password</Value> </LocaleResource> <LocaleResource Name="Account.PasswordRecovery.Email"> <Value>Your email address</Value> </LocaleResource> <LocaleResource Name="Account.PasswordRecovery.EmailHasBeenSent"> <Value>We have sent you an email with further instructions if an account exists with your email address.</Value> </LocaleResource> <LocaleResource Name="Account.PasswordRecovery.NewPassword"> <Value>New password</Value> </LocaleResource> <LocaleResource Name="Account.PasswordRecovery.OldPassword"> <Value>Old password</Value> </LocaleResource> <LocaleResource Name="Account.PasswordRecovery.OldPassword.Required"> <Value>Old password is required.</Value> </LocaleResource> <LocaleResource Name="Account.PasswordRecovery.PasswordHasBeenChanged"> <Value>Your password has been changed</Value> </LocaleResource> <LocaleResource Name="Account.PasswordRecovery.RecoverButton"> <Value>Recover</Value> </LocaleResource> <LocaleResource Name="Account.PasswordRecovery.Tooltip"> <Value>Please enter your email address below. You will receive a link to reset your password.</Value> </LocaleResource> <LocaleResource Name="Account.PasswordRecoveryConfirm.InvalidEmailOrToken"> <Value>Unknown email or token. Please click "Forgot password" again, if you want to renew your password.</Value> </LocaleResource> <LocaleResource Name="Account.Preferences"> <Value>Preferences</Value> </LocaleResource> <LocaleResource Name="Account.Register"> <Value>Register</Value> </LocaleResource> <LocaleResource Name="Account.Register.Button"> <Value>Register</Value> </LocaleResource> <LocaleResource Name="Account.Register.Errors.AlreadyRegistered"> <Value>The customer is already registered.</Value> </LocaleResource> <LocaleResource Name="Account.Register.Errors.CannotRegisterSearchEngine"> <Value>A search engine can't be registered.</Value> </LocaleResource> <LocaleResource Name="Account.Register.Errors.CannotRegisterTaskAccount"> <Value>A background task account can't be registered.</Value> </LocaleResource> <LocaleResource Name="Account.Register.Errors.EmailIsNotProvided"> <Value>Email is not provided</Value> </LocaleResource> <LocaleResource Name="Account.Register.Errors.PasswordIsNotProvided"> <Value>Password is not provided</Value> </LocaleResource> <LocaleResource Name="Account.Register.Errors.UsernameIsNotProvided"> <Value>Username is not provided</Value> </LocaleResource> <LocaleResource Name="Account.Register.Result.AdminApproval"> <Value>Your account will be activated after approving by administrator.</Value> </LocaleResource> <LocaleResource Name="Account.Register.Result.AlreadyRegistered"> <Value>You are already registered.</Value> </LocaleResource> <LocaleResource Name="Account.Register.Result.Continue"> <Value>Continue</Value> </LocaleResource> <LocaleResource Name="Account.Register.Result.Disabled"> <Value>Registration is not allowed at the moment.</Value> </LocaleResource> <LocaleResource Name="Account.Register.Result.EmailValidation"> <Value>Your registration has been successfully completed. You have just been sent an email containing membership activation instructions.</Value> </LocaleResource> <LocaleResource Name="Account.Register.Result.Standard"> <Value>Your registration completed</Value> </LocaleResource> <LocaleResource Name="Account.Register.Unsuccessful"> <Value>Registration was not complete. Please correct the errors and try again.</Value> </LocaleResource> <LocaleResource Name="Account.RewardPoints"> <Value>Reward points</Value> </LocaleResource> <LocaleResource Name="Account.ShoppingCart"> <Value>Shopping Cart</Value> </LocaleResource> <LocaleResource Name="Account.YourAddress"> <Value>Your Address</Value> </LocaleResource> <LocaleResource Name="Account.YourContactInformation"> <Value>Your Contact Information</Value> </LocaleResource> <LocaleResource Name="Account.YourPassword"> <Value>Your Password</Value> </LocaleResource> <LocaleResource Name="Account.YourPersonalDetails"> <Value>Your Personal Details</Value> </LocaleResource> <LocaleResource Name="ActivityLog.AddNewCategory"> <Value>Added a new category ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.AddNewCheckoutAttribute"> <Value>Added a new checkout attribute ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.AddNewCustomer"> <Value>Added a new customer (ID = {0})</Value> </LocaleResource> <LocaleResource Name="ActivityLog.AddNewCustomerRole"> <Value>Added a new customer role ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.AddNewDiscount"> <Value>Added a new discount ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.AddNewGiftCard"> <Value>Added a new gift card ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.AddNewManufacturer"> <Value>Added a new manufacturer ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.AddNewProduct"> <Value>Added a new product ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.AddNewProductAttribute"> <Value>Added a new product attribute ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.AddNewSetting"> <Value>Added a new setting ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.AddNewSpecAttribute"> <Value>Added a new specification attribute ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.AddNewWidget"> <Value>Added a new widget (ID = {0})</Value> </LocaleResource> <LocaleResource Name="ActivityLog.DeleteCategory"> <Value>Deleted a category ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.DeleteCheckoutAttribute"> <Value>Deleted a checkout attribute ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.DeleteCustomer"> <Value>Deleted a customer (ID = {0})</Value> </LocaleResource> <LocaleResource Name="ActivityLog.DeleteCustomerRole"> <Value>Deleted a customer role ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.DeleteDiscount"> <Value>Deleted a discount ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.DeleteGiftCard"> <Value>Deleted a gift card ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.DeleteManufacturer"> <Value>Deleted a manufacturer ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.DeleteOrder"> <Value>Deleted order {0}</Value> </LocaleResource> <LocaleResource Name="ActivityLog.DeleteProduct"> <Value>Deleted a product ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.DeleteProductAttribute"> <Value>Deleted a product attribute ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.DeleteReturnRequest"> <Value>Deleted a return request (ID = {0})</Value> </LocaleResource> <LocaleResource Name="ActivityLog.DeleteSetting"> <Value>Deleted a setting ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.DeleteSpecAttribute"> <Value>Deleted a specification attribute ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.DeleteWidget"> <Value>Deleted a widget (ID = {0})</Value> </LocaleResource> <LocaleResource Name="ActivityLog.EditCategory"> <Value>Edited a category ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.EditCheckoutAttribute"> <Value>Edited a checkout attribute ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.EditCustomer"> <Value>Edited a customer (ID = {0})</Value> </LocaleResource> <LocaleResource Name="ActivityLog.EditCustomerRole"> <Value>Edited a customer role ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.EditDiscount"> <Value>Edited a discount ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.EditGiftCard"> <Value>Edited a gift card ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.EditManufacturer"> <Value>Edited a manufacturer ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.EditOrder"> <Value>Edited order {0}</Value> </LocaleResource> <LocaleResource Name="ActivityLog.EditProduct"> <Value>Edited a product ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.EditProductAttribute"> <Value>Edited a product attribute ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.EditReturnRequest"> <Value>Edited a return request (ID = {0})</Value> </LocaleResource> <LocaleResource Name="ActivityLog.EditSettings"> <Value>The setting {0} has been changed. The new value is {1}.</Value> </LocaleResource> <LocaleResource Name="ActivityLog.EditSpecAttribute"> <Value>Edited a specification attribute ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.EditThemeVars"> <Value>Variablen für Theme "{0}" geändert</Value> </LocaleResource> <LocaleResource Name="ActivityLog.EditWidget"> <Value>Edited a widget (ID = {0})</Value> </LocaleResource> <LocaleResource Name="ActivityLog.ExportThemeVars"> <Value>Successfully exported theme '{0}'.</Value> </LocaleResource> <LocaleResource Name="ActivityLog.ImportThemeVars"> <Value>Imported {0} variables for theme '{1}'.</Value> </LocaleResource> <LocaleResource Name="ActivityLog.PublicStore.AddBlogComment"> <Value>Added a blog comment</Value> </LocaleResource> <LocaleResource Name="ActivityLog.PublicStore.AddNewsComment"> <Value>Added a news comment</Value> </LocaleResource> <LocaleResource Name="ActivityLog.PublicStore.AddProductReview"> <Value>Added a product review ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.PublicStore.AddToCompareList"> <Value>Added a product to compare list ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.PublicStore.AddToShoppingCart"> <Value>Added a product to shopping cart ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.PublicStore.AddToWishlist"> <Value>Added a product to wishlist ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.PublicStore.ContactUs"> <Value>Used contact us form</Value> </LocaleResource> <LocaleResource Name="ActivityLog.PublicStore.Login"> <Value>Login</Value> </LocaleResource> <LocaleResource Name="ActivityLog.PublicStore.LoginExternal"> <Value>Logged in with {0}</Value> </LocaleResource> <LocaleResource Name="ActivityLog.PublicStore.Logout"> <Value>Logout</Value> </LocaleResource> <LocaleResource Name="ActivityLog.PublicStore.PlaceOrder"> <Value>Placed a new order (ID = {0})</Value> </LocaleResource> <LocaleResource Name="ActivityLog.PublicStore.ViewCategory"> <Value>Public store. Viewed a category details page ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.PublicStore.ViewManufacturer"> <Value>Public store. Viewed a manufacturer details page ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.PublicStore.ViewProduct"> <Value>Public store. Viewed a product details page ('{0}')</Value> </LocaleResource> <LocaleResource Name="ActivityLog.ResetThemeVars"> <Value>Theme "{0}" zurückgesetzt</Value> </LocaleResource> <LocaleResource Name="AddProductToCompareList.CouldNotBeAdded"> <Value>Product could not be added.</Value> </LocaleResource> <LocaleResource Name="AddProductToCompareList.CouldNotBeRemoved"> <Value>Product could not be removed.</Value> </LocaleResource> <LocaleResource Name="AddProductToCompareList.ProductWasAdded"> <Value>The product '{0}' was added to the compare list.</Value> </LocaleResource> <LocaleResource Name="AddProductToCompareList.ProductWasDeleted"> <Value>The product '{0}' was removed from the compare list.</Value> </LocaleResource> <LocaleResource Name="Address"> <Value>Address</Value> </LocaleResource> <LocaleResource Name="Address.Fields.Address1"> <Value>Address 1</Value> </LocaleResource> <LocaleResource Name="Address.Fields.Address1.Required"> <Value>Address 1 is required.</Value> </LocaleResource> <LocaleResource Name="Address.Fields.Address2"> <Value>Address 2</Value> </LocaleResource> <LocaleResource Name="Address.Fields.Address2.Required"> <Value>Address 2 is required.</Value> </LocaleResource> <LocaleResource Name="Address.Fields.City"> <Value>City</Value> </LocaleResource> <LocaleResource Name="Address.Fields.City.Required"> <Value>City is required.</Value> </LocaleResource> <LocaleResource Name="Address.Fields.Company"> <Value>Company</Value> </LocaleResource> <LocaleResource Name="Address.Fields.Company.Required"> <Value>Company is required.</Value> </LocaleResource> <LocaleResource Name="Address.Fields.Country"> <Value>Country</Value> </LocaleResource> <LocaleResource Name="Address.Fields.Country.Required"> <Value>Country is required.</Value> </LocaleResource> <LocaleResource Name="Address.Fields.Email"> <Value>Email</Value> </LocaleResource> <LocaleResource Name="Address.Fields.EmailMatch"> <Value>Reenter email address</Value> </LocaleResource> <LocaleResource Name="Address.Fields.FaxNumber"> <Value>Fax number</Value> </LocaleResource> <LocaleResource Name="Address.Fields.FaxNumber.Required"> <Value>Fax number is required.</Value> </LocaleResource> <LocaleResource Name="Address.Fields.FirstName"> <Value>First name</Value> </LocaleResource> <LocaleResource Name="Address.Fields.IsDefaultBillingAddress"> <Value>Set as default billing address</Value> </LocaleResource> <LocaleResource Name="Address.Fields.IsDefaultShippingAddress"> <Value>Set as default shipping address</Value> </LocaleResource> <LocaleResource Name="Address.Fields.LastName"> <Value>Last name</Value> </LocaleResource> <LocaleResource Name="Address.Fields.PhoneNumber"> <Value>Phone number</Value> </LocaleResource> <LocaleResource Name="Address.Fields.PhoneNumber.Required"> <Value>Phone number is required.</Value> </LocaleResource> <LocaleResource Name="Address.Fields.Salutation"> <Value>Salutation</Value> </LocaleResource> <LocaleResource Name="Address.Fields.StateProvince"> <Value>State / province</Value> </LocaleResource> <LocaleResource Name="Address.Fields.StateProvince.Required"> <Value>State is required.</Value> </LocaleResource> <LocaleResource Name="Address.Fields.Title"> <Value>Title</Value> </LocaleResource> <LocaleResource Name="Address.Fields.ZipPostalCode"> <Value>Zip / postal code</Value> </LocaleResource> <LocaleResource Name="Address.Fields.ZipPostalCode.Required"> <Value>Zip / postal code is required.</Value> </LocaleResource> <LocaleResource Name="Address.IsDefaultAddress"> <Value>Is default address</Value> </LocaleResource> <LocaleResource Name="Address.IsDefaultBillingAddress"> <Value>Is default billing address</Value> </LocaleResource> <LocaleResource Name="Address.IsDefaultShippingAddress"> <Value>Is default shipping address</Value> </LocaleResource> <LocaleResource Name="Address.OtherNonUS"> <Value>Other (Non US)</Value> </LocaleResource> <LocaleResource Name="Address.SelectCountry"> <Value>Select country</Value> </LocaleResource> <LocaleResource Name="Address.SetDefaultAddress"> <Value>Sets the address as the default billing and shipping address.</Value> </LocaleResource> <LocaleResource Name="Admin"> <Value>Admin</Value> </LocaleResource> <LocaleResource Name="Admin.AccessDenied.Description"> <Value>You do not have permission to perform the selected operation.</Value> </LocaleResource> <LocaleResource Name="Admin.AccessDenied.DetailedDescription"> <Value>You do not have authorization to perform this operation. Permission: {0}, Systemname: {1}.</Value> </LocaleResource> <LocaleResource Name="Admin.AccessDenied.Title"> <Value>Access denied.</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields"> <Value>Address 1</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.Address1"> <Value>Address 1</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.Address1.Hint"> <Value>Enter address 1</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.Address2"> <Value>Address 2</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.Address2.Hint"> <Value>Enter address 2</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.City"> <Value>City</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.City.Hint"> <Value>Enter city</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.Company"> <Value>Company</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.Company.Hint"> <Value>Enter company</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.Country"> <Value>Country</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.Country.Hint"> <Value>Select country</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.Country.MustBePublished"> <Value>Invalid country</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.Country.Required"> <Value>Country is required.</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.Email"> <Value>Email</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.Email.Hint"> <Value>Enter email</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.EmailMatch"> <Value>Reenter email address</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.EmailMatch.MustMatchEmail"> <Value>The email address has to match the email address entered before</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.FaxNumber"> <Value>Fax number</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.FaxNumber.Hint"> <Value>Enter fax number</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.FirstName"> <Value>First name</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.FirstName.Hint"> <Value>Enter first name</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.LastName"> <Value>Last name</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.LastName.Hint"> <Value>Enter last name</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.Name.InvalidChars"> <Value>Please check your input. Numbers and the following characters are not allowed: {0}</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.PhoneNumber"> <Value>Phone number</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.PhoneNumber.Hint"> <Value>Enter phone number</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.StateProvince"> <Value>State / province</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.StateProvince.Hint"> <Value>Select state / province</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.StateProvince.Required"> <Value>State / province is required.</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.ZipPostalCode"> <Value>Zip / postal code</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Fields.ZipPostalCode.Hint"> <Value>Enter zip / postal code</Value> </LocaleResource> <LocaleResource Name="Admin.Address.OtherNonUS"> <Value>Other (Non US)</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Salutation"> <Value>Mr.</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Salutation.Mr"> <Value>Mr.</Value> </LocaleResource> <LocaleResource Name="Admin.Address.Salutation.Mrs"> <Value>Mrs.</Value> </LocaleResource> <LocaleResource Name="Admin.Address.SelectCountry"> <Value>Select country</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates"> <Value>Affiliates</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.Added"> <Value>The new affiliate has been added successfully.</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.AddNew"> <Value>Add a new affiliate</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.Customers"> <Value>Affiliated customers</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.Deleted"> <Value>The affiliate has been deleted successfully.</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.EditAffiliateDetails"> <Value>Edit affiliate details</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.Fields"> <Value>Active</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.Fields.Active"> <Value>Active</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.Fields.Active.Hint"> <Value>A value indicating whether the affiliate is active.</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.Fields.ID"> <Value>Affiliate identifier</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.Fields.ID.Hint"> <Value>Affiliate's unique identifier.</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.Fields.URL"> <Value>Affiliate URL</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.Fields.URL.Hint"> <Value>When this hyperlink is clicked from the affiliate site, this site looks for an Affiliate ID query string parameter. If one exists, the customer is tagged with that affiliate.</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.Info"> <Value>Affiliate info</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.Orders"> <Value>Affiliated orders</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.Orders.Order"> <Value>Created order</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.Orders.OrderStatus"> <Value>Order status</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.Orders.OrderTotal"> <Value>Order total</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.Orders.PaymentStatus"> <Value>Payment status</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.Orders.ShippingStatus"> <Value>Shipping status</Value> </LocaleResource> <LocaleResource Name="Admin.Affiliates.Updated"> <Value>The affiliate has been updated successfully.</Value> </LocaleResource> <LocaleResource Name="Admin.AI.CreateFullDesc"> <Value>Generate full description</Value> </LocaleResource> <LocaleResource Name="Admin.AI.CreateImage"> <Value>Generate image</Value> </LocaleResource> <LocaleResource Name="Admin.AI.CreateMetaDesc"> <Value>Generate meta description</Value> </LocaleResource> <LocaleResource Name="Admin.AI.CreateMetaKeywords"> <Value>Generate meta keywords</Value> </LocaleResource> <LocaleResource Name="Admin.AI.CreateMetaTitle"> <Value>Generate title tag</Value> </LocaleResource> <LocaleResource Name="Admin.AI.CreateShortDesc"> <Value>Generate short description</Value> </LocaleResource> <LocaleResource Name="Admin.AI.CreateText"> <Value>Generate text</Value> </LocaleResource> <LocaleResource Name="Admin.AI.EditHtml"> <Value>Edit HTML text</Value> </LocaleResource> <LocaleResource Name="Admin.AI.ImageCreation.DefaultPrompt"> <Value>Generate a picture about the topic: '{0}'.</Value> </LocaleResource> <LocaleResource Name="Admin.AI.MakeSuggestions"> <Value>Make suggestions</Value> </LocaleResource> <LocaleResource Name="Admin.AI.MenuItemTitle.ChangeStyle"> <Value>Change style</Value> </LocaleResource> <LocaleResource Name="Admin.AI.MenuItemTitle.ChangeTone"> <Value>Change tone</Value> </LocaleResource> </Language> 标签内容翻译中文
最新发布
07-22
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1,shrink-to-fit=no"> <title>用户登录界面</title> <link th:href="@{/css/bootstrap.css}" rel="stylesheet"> <link th:href="@{/css/signin.css}" rel="stylesheet"> </head> <body class="text-center"> <!-- 用户登录form表单 --> <form class="form-signin" th:action="@{/toBook}"> <img class="mb-4" th:src="@{/img/login.jpg}" width="88" height="88"> <h1 class="h3 mb-3 font-weight-normal" th:text="{login.tip}">请登录</h1> <input type="text" class="form-control" name="username" th:placeholder="{login.username}" required="" autofocus=""> <input type="password" class="form-control" name="password" th:placeholder="{login.password}" required=""> <div class="checkbox mb-3"> <label> <input type="checkbox" value="remember-me"> {login.rememberme} </label> </div> <button class="btn btn-lg btn-primary btn-block" th:text="{login.button}">登录</button> <p class="mt-5 mb-3 text-muted">© <span th:text="${currentYear}"></span>-<span th:text="${currentYear}+1"></span></p> </form> </body> </html> <!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1,shrink-to-fit=no"> <title>用户登录界面</title> <link th:href="@{/css/bootstrap.css}" rel="stylesheet"> <link th:href="@{/css/signin.css}" rel="stylesheet"> </head> <body class="text-center"> <!-- 用户登录form表单 --> <form class="form-signin" th:action="@{/toBook}"> <img class="mb-4" th:src="@{/img/login.jpg}" width="88" height="88"> <h1 class="h3 mb-3 font-weight-normal" th:text="{login.tip}">请登录</h1> <input type="text" class="form-control" name="username" th:placeholder="{login.username}" required="" autofocus=""> <input type="password" class="form-control" name="password" th:placeholder="{login.password}" required=""> <div class="checkbox mb-3"> <label> <input type="checkbox" value="remember-me"> {login.rememberme} </label> </div> <button class="btn btn-lg btn-primary btn-block" th:text="{login.button}">登录</button> <p class="mt-5 mb-3 text-muted">© <span th:text="${currentYear}"></span>-<span th:text="${currentYear}+1"></span></p> </form> </body> </html> 1、整合login.html模板 要求:1) 显示当前年,currentYear~currentYear+1 2) 点击登录后,通过@RequestParam("username")获取输入的用户名,并在控制台打印,登陆后跳转到图书页面
03-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值