제공되는 URL을 사용하여 다른 웹 사이트에서 가져온 여러 값을 표시 할 수있는 작은 컴퍼지 웹 응용 프로그램을 만들었습니다. 현재이 URL은 내 기능 중 하나에 하드 코딩되어 있습니다. 이제 텍스트 필드 및 확인란의 값을 기반으로 동적 URL 생성을위한 기능을 추가하고 싶습니다. 어디 것, 내가 (문자열을 반환) (create-url)
기능에 도움이 필요, 순간compojure를 사용하여 여러 확인란의 값 구문 분석
(defroutes main-routes
(GET "/" []
(view-input))
(GET "/downloads" []
(view-downloads))
(POST "/" []
(view-output)))
: 여기
(defn view-layout [& content]
(html [:body content]))
(defn view-input []
(view-layout
[:h2 "Find"]
[:form {:method "post" :action "/"}
(for [category ["Cat1" "Cat2" "Cat3"]]
[:input {:type "checkbox" :id category } category ])
[:br]
[:input {:type "text" :id "a" :value "insert manga name"}] [:br]
[:input.action {:type "submit" :value "Find"}]
[:a {:href "/downloads"} "Downloads"]]))
(defn view-output []
(view-layout
[:h2 "default images"]
[:form {:method "post" :action "/"}
(for [name (get-content-from-url (create-url))]
[:label name [:br]]
)]))
(defn create-manga-url
[]
"http://www.mysite.net/search/?tfield=&check=000")
이 노선은 다음과 같습니다
이 내 페이지와 같은 모습입니다 모든 필드를 가져오고 싶습니다. 하나의 텍스트 필드와 3 개의 체크 박스가 필요합니다. URL을 입력 (연결) 한 값을 구문 분석합니다. 체크 박스가 선택되어 있으면 체크 섹션의 값은 1이고, 0 대신 0을 유지하거나 그렇지 않은 경우 0을 유지합니다 (check = 100 또는 010, 011 if 두 개의 확인란이 선택되었습니다). 텍스트 필드의 경우, tfield = userinputtext.
EDIT .Net 및 Java 개발자로서 많은 시간을 보냈으며,이 부분은 저에게 완전한 신비입니다. 이것은 내가 (create-url)
기능 (의사 코드 OO 스타일로 작성) 달성하고자하는 것입니다 :이 의사 코드처럼 보이는 방법에 대해 사과
(defn create-url [*text_field cbox1 cbox2 cbox3*]
(def url "http://www.mysite.net/search/?")
(def tfield "tfield=")
(def cbox "&check=")
(if (checked? cbox1)
(str cbox "1")
(str cbox "0"))
(if (checked? cbox2)
(str cbox "1")
(str cbox "0"))
(if (checked? cbox3)
(str cbox "1")
(str cbox "0"))
(str tfield (:value text_field))
(str url tbox cbox))
, 그러나 이것은 내가 배우고 싶은 부분입니다 : 양식에서 데이터를 가져와 구문 분석 할 수 있습니까 (이 경우 양식 필드의 값을 문자열에 첨부하고 싶습니다)
아무도 도와 줄 수 있습니까?
매개 변수와 예상되는 반환 값을 사용하여'create-url'에 대한 예제 호출을 제공하면 도움이 될 수 있습니다. – ivant
안녕하세요, ivat, 응답 해 주셔서 감사합니다. 불행히도, 나는 clojure에서 HTML 페이지의 값을 구문 분석하는 방법을 모른다. 나는 의사 코드를 제공 할 수 있으며, 이는 달성하고자하는 것을 설명 할 수 있습니다. –
ivat, 내 함수에 의사 코드를 제공했습니다. 하지만 문제는 경로로 작업하기가 뜨겁다는 것이고, 실제로 필자의 기능에 올바른 매개 변수를 제공하는 방법을 모른다는 것입니다. 이걸 도와 줄 수 있다고 생각하니? –