2014-01-29 71 views
0

這是我第一次使用JSP和我有點卡住瞭如何實際解決這個問題的邏輯。問題是根據用戶輸入的URL參數設置網頁的背景顏色,如果沒有參數值,則將網頁設置爲白色。如果參數是「隨機」,則生成隨機顏色。但是,如果參數爲紅色,請將背景顏色設置爲紅色。如果參數爲綠色,則將背景顏色設置爲綠色等等。如果在URL中設置參數,則設置頁面的背景顏色

我有點卡在這個邏輯上,如何實際存儲一個變量與參數的值是什麼,以及如何應用用戶輸入參數的背景顏色的邏輯。

下面是代碼:(我使用NetBeans實現代碼 - 不知道這是任何有用的信息)

<%-- 
    Document : index 
    Created on : 28-Jan-2014, 10:39:07 PM 
    Author  : Owner 
--%> 

<%@page import="java.util.Enumeration"%> 
<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <style> 
      ul 
      { 
       list-style-type: none; 
      }    
     </style> 
     <title>JSP Page</title> 
    </head> 
    <body> 
     <h1>JSP Test</h1> 
     <ul> 
      <li>Current Time: <%= new java.util.Date() %> </li> 
      <li>Server Name: <%= application.getServerInfo() %> </li> 
      <li>Session ID: <%= session.getId()%></li> 
     </ul> 

     <!--Read in request parameter in url and set background color accordingly--> 
     <% 
      if(request.getParameterNames() == null){ 
       //set page to white 
      %> 
       <body bgcolor=white> 

      <%}else{ 
       //set page to the color of the parameter name 
       Enumeration paramNames = request.getParameterNames() 



      } %> 


    </body> 
</html> 

回答

0

您傳遞的顏色稱爲顏色參數 - 讓你的URL看起來像?本地主機/應用/頁的color = red

現在

在JSP中,你可以通過EL得到這個值這樣的 - $ {} param.color

現在使用JavaScript來設置顏色像這樣 -

var color = '${param.color}'; 

if(color!='') 

document.body.style.background = 'white'; 

else if(color=='random') 

document.body.style.background = randomColor();//write code to generate random color 

else 

document.body.style.background = color; 
+0

由於某種原因,這只是沒有爲我工作... – user2961971

+0

你的意思是$ {param.color}不工作。如果是這樣,你可以看到URL中的任何名稱爲color的參數只是進行交叉檢查。 –